php面向对象中的静态与抽象,接口

Posted 亮瞎我的猫眼。

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php面向对象中的静态与抽象,接口相关的知识,希望对你有一定的参考价值。

静态又包括:
    普通成员:
    普通成员是属于对象的
    静态成员:
    静态成员是属于类的

关键字:static
self关键字:在类里面代表该类,前面不用加$
在静态方法里面不能调用普通成员
在普通方法里面能够调用静态


例:
class FenBi { public $length; 粉笔的长度 public static $color; 粉笔的颜色 static function show() { echo "粉笔颜色是:".self::$color; } function XianShi() { echo "显示:".self::$color; } } $f = new FenBi(); 先造一个对象 $f->length; 用对象去调用普通成员 FenBi::$color = "红色"; 使用类名调用静态成员 FenBi::show(); $f->XianShi();
抽象
抽象类关键字abstract
特点:不能被实例化,只能被继承
目的:为了派生子类,控制子类

abstract class Dog
{
    public $name;
    
    function Jiao()
    {
        echo "汪汪";
    }
}

class JinMao extends Dog
{
    
}

$d = new Dog();
接口:
极度抽象的类
接口里面不能包含成员变量,只能包含成员方法
成员方法可以没有函数体
接口关键字:interface
实现接口的类,必须实现接口里面的所有方法

interface IUSB
{
    function read();       读的方法
    function write();       写的方法
}

鼠标的驱动类
class Mouse implements IUSB
{
    function read()
    {
        echo "鼠标点击了";
    }
    function write()
    {
        echo "给鼠标一个指令";
    }
}

键盘的驱动类
class JianPan implements IUSB
{
    function read()
    {
        echo "键盘输入了内容";
    }
    function write()
    {
        echo "给键盘指令";
    }
}

$m = new Mouse();
$m->write();

$j = new JianPan();
$j->read();


API接口为常用接口

 



以上是关于php面向对象中的静态与抽象,接口的主要内容,如果未能解决你的问题,请参考以下文章

php学习笔记 面向对象中[接口]与[多态性]的应用

面向对象接口

《深入PHP:面向对象模式与实践》

PHP面向对象(抽象类与抽象方法接口的实现)

多态与抽象以及接口

PHP面向对象接口部分基础代码