批改状态:合格
老师批语:
类的静态属性
//声明静态属性的关键字:staticpublic static string $uname;private static int $salary;public static string $siteName = 'php中文网';
类的静态方法
//静态成员都可以省略publicpublic static function getBK(){return self::$uname;}
使用self::来访问静态成员和类常量
self::$uname = $uname;self::$salary = $salary;
接口
接口实现了php的多态性
接口里所有成员都是公开的,即都用public标识符
接口里的方法只有声明,没有实现
//通过interface关键字定义接口interface Idemo{}
抽象类
抽象类里可以存在抽象方法和工作方法,因此抽象类不能被实例化
抽象方法就是没有实现功能的方法
一个抽象类可以实现多个接口
//通过关键字abstract定义抽象类abstract class aDemo implements Idemo{}
trait
因为php只能是单继承,因此为了不破坏程序的结构,引入了trait
trait用于不修改父类的情况下扩展类的功能
写法和类类似
//用关键字 trait定义trait t1{public dd(){}}//用法,用关键词use 实现引入traitclass Work extends aDemo{use t1;pubic function fun(){}}
后期静态绑定关键字:static
static 后期静态绑定 一般是用在静态继承上下文里
如果此类不需要被人继承可以直接使用self::
class demo1{public static fun1(){return 'car';}public fun2(){return static::fun1(); //static实现后期绑定}}
可以用as为命名空间起别名
如果没有用as 默认是最后一个单词为别名
需要在文件的顶部通过设置命名空间,关键字namespace ns1;以此来解决全局变量的命名冲突问题.
//用关键字use 引入类use app\controller\Index;
// 别名use app\controller as pr;
//如果没用as,默认最后一个单词为别名 Indexuse app\controller\Index;
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号