zoukankan      html  css  js  c++  java
  • php中普通方法和静态方法的区别以及抽象类和接口

    实例化类产生对象。
    class fenbi
    {
    //普通成员,属于对象
    public $length = "10cm";
    //静态成员,静态变量,属于类。
    public static $color;

    //普通方法可以调用静态成员,类里面用self调用
    function hua(){
    echo $this->length;
    echo self::$color;
    }
    //静态方法不能调用普通成员,普通方法可以调用静态成员。
    static function hua2(){
    echo self::$color;
    }
    }
    总结:普通方法可以调用静态成员,在类里面用self调用,
    静态方法不能调用普通成员。
    敬爱成员调用方法:用 类名::

    //实例化对象调用普通成员
    $fb = new fenbi();
    $fb->hua();
    echo "<br>";
    //使用类名+::调用静态成员
    fenbi::$color = "red";
    fenbi::hua2();
    echo "<br>";
    $fb2 = new fenbi();
    $fb2->hua();

    //抽象类关键词:abstract
    //特点:不能被实例化,只能被继承
    //目的:为了派生子类,控制子类
    //用于写基类
    abstract class Ren
    {
    public $name;

    function speak(){
    echo "正在说话";
    }
    }
    //$chinese = new Ren();这是错误的,不能这样,不能被实例化;
    class chinese extends Ren{

    }

    //接口
    //极度抽象的类
    //接口里面不能包含成员变量,只能包含成员方法
    //成员方法没有函数体
    //接口关键字:interface 命名大写I开头
    //接口必须实现里面所有的方法
    interface Iusb
    {
    public function read();
    public function write();
    }
    class mouse implements Iusb
    {
    function read()
    {
    }
    function write()
    {
    }
    }
    重点:
    //运行多态:
    //当父类引用指向子类实例时,
    //由于子类里面对父类的方法进行重写
    //所以该引用与调用相应方法时,表现出不同状态。
  • 相关阅读:
    MyDAL
    MyDAL
    MyDAL
    MyDAL
    MyDAL
    MyDAL
    MyDAL
    MyDAL
    MyDAL
    ThinkPad 安装 Ubuntu 18.10 系统 -- 高分屏各项配置与Nvdia独显驱动
  • 原文地址:https://www.cnblogs.com/GP1014336455/p/7675816.html
Copyright © 2011-2022 走看看