2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > php 静态成员(static)抽象类(abstract)和接口(interface)

php 静态成员(static)抽象类(abstract)和接口(interface)

时间:2021-06-03 14:14:17

相关推荐

php 静态成员(static)抽象类(abstract)和接口(interface)

首先看一下静态成员(static)和普通成员(public; protect; private)的区别:

静态成员是属于类的,普通成员是属于对象的; 例如:

<?phpheader("Content-type:text/html;charset=utf-8"); //以防出现乱码class fenbi{public $length;public static $color;static function show(){echo "粉笔的颜色:" ,self:: $color; //静态成员的表示方法;静态方法里面无法调用普通成员}function xianshi(){echo"显示:".self::$color; // 普通方法里面可以调用静态成员}}$f=new fenbi(); //把类实例化fenbi::$color="蓝色";$f->show();$f->xianshi(); //$color无法实例化?>

其次是抽象类,抽象类关键词是abstract; 特点是:不能被实例化,只能被继承; 目的:为了派生子类,控制子类

<?phpheader("Content-type:text/html;charset=utf-8");abstract class dog{function jiao(){echo "汪汪";}}class jinmao extends dog // 用类jinmao继承dog{}$d=new dog(); //这个地方这么写是错误的,抽象的类是无法实例化的?>

最后是接口,关键词是interface,是极度抽象的类,接口里面不能包含成员变量,只能包含成员方法,成员方法里面可以没有函数体,

实现接口的类,必须实现接口里面的方法特点: 命名必须以I开头; 方法是没有具体的内容的; 子类继承的时候用关键词 implement ;

子类必须重写所有的接口类(父类)方法;

<?phpheader("conten-type:text/html; charset-utf-8")interface IUSB{function write(); //接口里面只能放方法;不可以放变量function read();}class mouse implements IUSB{function write(){ echo "点一下鼠标";}function read(){echo "给鼠标一个指令";}}$m=new mouse(); //接口里面的类是可以实例化的$m->write();?>

补充:下午有讲到__tostring/clone的使用方法 以及引用文件等

<?phpclass yue{function __tostring(){return"这是tostring的使用方法";}}$y=new yue();//echo $y; //讲到这里运用tostring可以直接输出$y$x=clone $y;echo$x//对$y进行了克隆,输出内容和上面一样?>

引用文件使用的是include 和 requair 这两种方法,在下一篇随笔会详细介绍着两种方法的区别 以及如何使用

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。