静态和抽象

//静态
//普通成员:属于对象
//静态成员:属于类的
//关键字: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();
$S->length;//普通成员调用方式
FenBi::$color;//静态成员调用方式
FenBi::test();


//抽象
//抽象类由于过于抽象,不能实例化对象,可以被继承,主要作为父类使用
//关键字: abstracct
//包含抽象方法的类只能是抽象类
abstract class DongWu
{
public $name;
abstract public function text();
//抽象类中的抽象方法不能有具体内容,具体功能在子类里重写实现


}
class Dog extends DongWu
{
public function text()
{
echo "重写了";
}
}
$d = new Dog();
var_dump($d);

//接口,极度抽象的类
//接口里面没有成员变量
//接口里面的所有成员函数全部为抽象的

原文地址:https://www.cnblogs.com/chenshanhe/p/6739195.html