1.静态
静态是和之前做的类的普通成员对应的。类里面的成员可以分为两类,一类是普通成员,另一类是静态成员。之前写的都是普通成员,普通成员是属于对象的。静态成员是属于类的,静态是相对于普通成员来说的。
静态成员的定义:
//静态 //普通成员是属于对象的 //静态成员 //静态成员是属于类的 //关键字:static //self关键字:在类里面代表类 //在静态方法里面不能调用普通成员 //普通方法里面可以调用静态成员 /*class Fenbi { public $length;//粉笔的长度,定义成普通的成员。 public static $color;//粉笔的颜色,定义成静态的成员。static定义静态的关键字。 static function Show()//静态成员,里面可以调用静态成员,不可以调用普通成员。 { echo "粉笔颜色是:".self::$color;//self换成类名Fenbi也可以,self在类里面代表该该类,this在类里面代表该对象。 } function Xianshi()//普通成员,里面可以调用普通成员和静态成员。 { echo "显示:".self::$color; } } $f = new Fenbi();//先造一个对象 $f->length;//用对象去调用普通成员 Fenbi::$color = "红色";
//Fenbi::show();//调用静态方法,不用 Fenbi::$color;//因为静态成员是属于类的,所以要使用类名调用静态成员 $f->Xianshi(); */
抽象:
//抽象 //抽象类:关键字abstract //特点:不能被实例化,只能被继承。 //目的:为了派生子类,控制子类 /*abstract class Dog { public $name; function Jiao() { echo "旺旺"; } } //$d = new Dog();//不能造出dog对象 class Jinmao extends Dog//金毛的类继承dog的类 { }*/
接口:
//接口 //极度抽象的类 //接口里面不能包含成员变量,只能包含成员方法。 //成员方法没有函数体 //接口关键字:interface //实现接口的类,必须实现接口里面的所有方法。 /*interface IUSB//接口名称一般是I(大写)开头 { 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->read(); $j = new Jianpan(); $j->read();