Blogger Information
Blog 40
fans 0
comment 0
visits 16242
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
类的静态成员以及类的引用,接口和抽象类,后期绑定和命名空间
飞天001
Original
494 people have browsed it

类的静态成员以及类的引用,接口和抽象类,后期绑定和命名空间

1.类的静态成员

类的静态属性

  1. //声明静态属性的关键字:static
  2. public static string $uname;
  3. private static int $salary;
  4. public static string $siteName = 'php中文网';

类的静态方法

  1. //静态成员都可以省略public
  2. public static function getBK(){
  3. return self::$uname;
  4. }

使用self::来访问静态成员和类常量

  1. self::$uname = $uname;
  2. self::$salary = $salary;

2.接口,抽象类,trait

接口

接口实现了php的多态性
接口里所有成员都是公开的,即都用public标识符
接口里的方法只有声明,没有实现

  1. //通过interface关键字定义接口
  2. interface Idemo{}

抽象类

抽象类里可以存在抽象方法和工作方法,因此抽象类不能被实例化
抽象方法就是没有实现功能的方法
一个抽象类可以实现多个接口

  1. //通过关键字abstract定义抽象类
  2. abstract class aDemo implements Idemo{}

trait

因为php只能是单继承,因此为了不破坏程序的结构,引入了trait
trait用于不修改父类的情况下扩展类的功能
写法和类类似

  1. //用关键字 trait定义
  2. trait t1{
  3. public dd(){}
  4. }
  5. //用法,用关键词use 实现引入trait
  6. class Work extends aDemo{
  7. use t1;
  8. pubic function fun(){}
  9. }

3. 后期静态绑定

后期静态绑定关键字:static
static 后期静态绑定 一般是用在静态继承上下文里
如果此类不需要被人继承可以直接使用self::

  1. class demo1{
  2. public static fun1(){
  3. return 'car';
  4. }
  5. public fun2(){
  6. return static::fun1(); //static实现后期绑定
  7. }
  8. }

4. use在命名空间中的使用

可以用as为命名空间起别名
如果没有用as 默认是最后一个单词为别名
需要在文件的顶部通过设置命名空间,关键字namespace ns1;以此来解决全局变量的命名冲突问题.

  1. //用关键字use 引入类
  2. use app\controller\Index;
  1. // 别名
  2. use app\controller as pr;
  1. //如果没用as,默认最后一个单词为别名 Index
  2. use app\controller\Index;
Correcting teacher:PHPzPHPz

Correction status:qualified

Teacher's comments:
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post