Trait特性和命名空间--总结

Original 2018-11-21 15:47:42 301
abstract:一、Trait特性*   Trait 代码复用机制*   Trait 可以给当前类添加一些新的特征(功能)*   如果一个类中要添加新的功能, 不具备形成一个类, 或不方便用类进行整理, 使用Trait更方便*   Trait 类似于类中的插件, 可在不修改父类的情况下, 扩展当前类的功能;*   Trait 工作在父类(如果有)与当前类之间, 可

一、Trait特性
*   Trait 代码复用机制
*   Trait 可以给当前类添加一些新的特征(功能)
*   如果一个类中要添加新的功能, 不具备形成一个类, 或不方便用类进行整理, 使用Trait更方便
*   Trait 类似于类中的插件, 可在不修改父类的情况下, 扩展当前类的功能;
*   Trait 工作在父类(如果有)与当前类之间, 可以重载父类同名成员
*   尽管类中的语法适用于声明Trait类, 但Trait并非常规类, 不允许直接实例化
*   Trait使用use关键字将自身代码插入到当前的宿主类中
*   当Trait类中的成员与用户类中的成员命名冲突时,可以通过替换或别名解决

二、命名空间的基本知识
*   定义命名空间  namespace 空间名称
*   命名空间主体  类/接口,函数,常量
*   命名空间魔术常量  __NAMESPACE__
*   引用命名空间  namespace/空间 [类似于self]

三、如果声明多个命名空间
*   在一个脚本中可以同时声明多个命名空间
*   使用大括号语法: namespace 空间名称 { //空间代码 }
*   全局空间的名称为空: namespace { //全局空间代码 }

四、如何导入命名空间
*   非限定名称: 适用当前空间成员, 类似于当前路径;
*   限定名称: 与当前空间关联的空间, 类似于相对路径;
*   完全限定名称: 导入外部空间, 类似于绝对路径;

*   导入空间使用关键字: use
*   如果与当前类命名冲突, 可以通过设置替换规则或别名解决;
*   导入空间名称并不会自动加载类文件, 需要手工加载或自定义加载机制;

Correcting teacher:韦小宝Correction time:2018-11-21 15:53:21
Teacher's summary:嗯!不错!总结的很到位!课后还记得多多练习啊!

Release Notes

Popular Entries