面向对象第八天 -----新特性Trait

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面向对象第八天 -----新特性Trait相关的知识,希望对你有一定的参考价值。

81.Trait php5.4 新特性
2.1 Trait的概述
      Trait 是 PHP5.4 中的新特性,是 PHP 多重继承的一种解决方案。例如,需要同时继承两个 Abstract Class, 这将会是件很麻烦的事情,Trait 就是        为了解决这个问题。
2.2 Trait的简单使用
  格式::
    trait 名字{
      }
特点:
    ① 不能被实例化
    ② 在类中use引入来实现其价值

2.3 多个Trait的引用
    use A,B
2.4 Trait之间的嵌套
      一个trait 可以由多个 trait 组成
          use A,B;
2.5 Trait的属性
      在trait中可以定义属性并在class中使用,

      单use 的class不允许重复定义属性

2.6 Trait的方法优先级
      class中如果有和trait重名的方法则覆盖
      trait的方法会覆盖父类方法
2.7 Trait的修饰符
      如果方法中存在static 可以用对象$obj->demo() User::demo()
      如果trait中存在抽象方法,则实例化的类必须实现此方法
2.8 Trait冲突

  使用 insteadof  解决冲突

例:


class User
{
use A,B{
A::demo insteadof B;
//B::demo insteadof A;
//B::demo as daimo;
B::demo as private daimo;
}
public function demo2()
{

$this->daimo();
echo "User中的demo2<br>";
}
}

$u1 = new User();
$u1->demo();
$u1->demo2();

 

以上是关于面向对象第八天 -----新特性Trait的主要内容,如果未能解决你的问题,请参考以下文章

Alpha第八天

Sprint第二个冲刺(第八天)

学习linux第八天

清梦科技团队-项目冲刺 第八天

第八天

二轮冲刺第八天