• 面向对象中静态、抽象及接口


    一、静态
    普通成员:属于对象
    静态成员:属于类的
    关键字:static
    class fenbi
    {
    public $length;
    public static $color="红";
    public static function test()
    {
    echo "静态成员方法".self::$color;//静态方法不能调用普通成员,self::调用静态成员或直接用类名调用
    }
    public function ceshi()
    {
    echo self::$color;//普通成员方法可以调用静态成员
    }
    }
    $f=new fenbi();
    $f->length;//普通成员调用方式
    fenbi::$color;//双冒号调用静态成员
    fenbi::test();//静态方法不需要造对象,可以直接调用
    二、抽象
    关键字:abstract
    抽象类由于过于抽象,所以不能被实例化,作为父类存在
    抽象方法里面不能包含函数体,其具体功能在子类里面重写实现
    包含抽象方法的类一定是抽象类
    abstract class dongwu
    {
    public $name;
    public abstract function test();//抽象方法不能包含函数体
    }
    class dog extends dongwu//子类要么继承父类的抽象方法,要么子类也变成抽象类
    {
    public function test()
    {
    echo "重写了" ;
    }
    }
    var_dump($d);
    三、接口 极度抽象的类
    接口里面没有成员变量
    接口里面所有成员函数全部为抽象的
    interface IUSB
    {
    public function read();
    public function write();
    }
    class shubiao implements IUSB
    {
    public function read()
    {
    echo "鼠标插入了";
    }
    public function write()
    {
    echo "往鼠标写内容";
    }
    }
    $s=new shubiao();
    $s->read();

    接口如果不是指面向对象里的接口就是指网络服务的接口。     

  • 相关阅读:
    POJ1001 Exponentiation
    centos 在安装YouCompleteMe时提示 Fatal : pyconfig.h No such file or directory
    VMware12上安装CentOS无法上网问题
    mysql报错:/usr/sbin/mysqld:unknown variable 'default-character-set=utf8'
    centos7 python3.5安装mysqlclient1.3.9
    DirectDraw创建Windows窗口
    二进制移位溢出
    格式化时间 与 时间戳的转换
    ADO 读取 ACCESS
    Windows DOS 窗口设置字体颜色
  • 原文地址:https://www.cnblogs.com/mengshenshenchu/p/6738769.html
Copyright © 2020-2023  润新知