在5.4 PHP版本中,特质被引入PHP面向对象的编程中。特征类似于类,但是它仅用于以细粒度且可靠的方式对方法进行分组。不允许自己实例化特征。将特性引入PHP 5.4中以克服单一继承的问题。众所周知,在单个继承类中只能继承一个其他单个类。在trait的情况下,它使开发人员可以在生活在不同类层次结构中的几个独立类中自由地重用方法集。
<?php trait Reader{ public function add($var1,$var2){ return $var1+$var2; } } trait writer { public function multiplication($var1,$var2){ return $var1*$var2; } } class File { use Reader; use writer; public function calculate($var1,$var2){ echo "加法结果:".$this->add($var1,$var2) ."\n"; echo "乘法结果:".$this->multiplication($var1,$var2); } } $o = new File(); $o->calculate(5,3); ?>
输出结果
Result of addition two numbers:8 Result of multiplication of two numbers:15
在上面的示例中,我们在单个类中实现了两个特征的函数。由于特性,我们能够在一个类中访问多个功能。
我们使用“ USE”关键字来访问类内部的特征。