php面向对象基础(三)

1.静态*
普通成员:属于对象的
静态成员:属于类的
关键字:static
class FenBi
{
    public $length=10;//粉笔长度,普通成员
    public static $color="红";//粉笔颜色,静态成员
    
    public static function test()
    {
        echo "静态成员方法".self::$color;//self 该类,用类名FenBi也可以实现
    }
    public function ceshi()
    {
        echo self::$color;
    }
}
$f = new FenBi();
$f->length;//普通成员的调用方式
$f->ceshi();
FenBi::$color;//静态成员的调用方式
FenBi::test();//静态成员方法,不能调用普通成员


2.抽象
关键字:abstract
抽象类由于过于抽象,所以不能被实例化,作为父类存在
抽象方法里面不能包含函数体,其具体功能在子类里面通过重写实现
包含抽象方法的类一定是抽象类
    
abstract class DongWu
{
    public $name;
    abstract public function test();//由于过于抽象不能用函数体即不用加{}
}
class Dog extends DongWu
{
    public function test()//重写
    {
        echo "重写";
    }
}
$d=new Dog();
var_dump($d);


3.接口  极度抽象的类
接口里边没有成员变量
接口里面的所有成员函数全部为抽象的    
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();

posted @ 2017-04-20 10:57  ChrissZhao  阅读(213)  评论(0编辑  收藏  举报