zoukankan      html  css  js  c++  java
  • 静态抽象

    静态抽象

    静态

    class Ren{
        public $name;
    }
    //***普通成员属于对象的
    //***静态成员属于类的
    class FenBi{
        public static $color; //静态成员变量(属于类)
        public $length;
        public static function test(){  //静态方法
                echo "红色的粉笔";
              //echo "长度为:{$this->length}"  //静态的方法里面不可以包含普通成员,因为不同成员是属于对象的,当没有建立对象时,没有length成员变量,无法调用
         }
        public function ceshi(){
                echo "颜色为".FenBi::$color;    //如果可以造出对象,就证明这个类存在,所以就可以调出静态成员
         }
    }
    
    FenBi::$color = "红色";  //赋值
    FenBi::$color;  //取值    
    FenBi::test();
    $f = new FenBi();
    $f->ceshi();

    什么时候会用静态?
    1.如果这个类里面比较简单,有个成员方法要经常调用,做成静态会方便
    2.如果想把A类里面的值传给B类

    class A{
      /*public function tanchu(){
            echo "输出一个对象";
           var_dump(new B("张三"));
        }*/
        public function chuanzhi(){
            B::$b = "张三";  //静态传值
        }  
    }
    
    class B{
        public static $b;
      /*public $a;
        public function __construct($a){
              $this->a = $a;
        }*/         //构造函数方法
    }
    $a = new A();
    $a->chuanzhi();
    echo B::$b;

    抽象

    抽象类概念:更加抽象的一个类,无法直接实例化对象,主要作为父类存在

    抽象方法:抽象的一个方法,不能直接调用,用来在父类里面规定子类必须要实现什么样的方法或功能。

    一个正常的类里面不能有抽象方法,如果有抽象方法那么必须是抽象类。

    抽象关键字:abstract.

    abstract class Ren{
          public abstract function test();  //抽象方法在定义时不能加函数体 
    }
    class China extends Ren{
          public function test(){   //对父类方法进行重写
              echo "aa";
       }
    }
    $r = new China();

    接口:极度抽象的类

    interface(面向对象)或API(网络数据接口80%)

    关键字:interface.

    //主要控制这个程序子类里面,必须要实现的功能
    interface USB{
        public function read();
        public function write();  //极度抽象类里面只能有抽象方法,不能有普通方法和成员变量
    }
    //接口的继承:implements
    class ShuBiao implements USB{    //相当于驱动
        public function read(){
           echo "鼠标插入了";
      }
        public function write(){
           echo "给鼠标供电";
      }
    }
    
    $s = new ShuBiao();
    $s->read();
  • 相关阅读:
    Oracle 查询出来的数据取第一条
    如何将Oracle 当前日期加一天、一分钟
    Oracle 增加修改删除字段
    asp.net,简单权限。存取读XML
    SQL中使用update inner join和delete inner join
    防止浏览器记住用户名及密码的简单实用方法
    vb.net 接口POST方式传参数提交返回值
    导入EXCEL表时,提示"找不到可安装的ISAM"怎么办
    vb.net读取EXCEL
    导入excel错误:外部表不是预期的格式 解决方案
  • 原文地址:https://www.cnblogs.com/Whitehat/p/8445712.html
Copyright © 2011-2022 走看看