PHP中的Trait类

博客主要围绕PHP中的Trait类展开,Trait类是PHP为解决单继承语言代码复用问题而引入的一种机制,它能在不同层次结构的类中复用代码,增强代码的灵活性和可维护性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<?php
/**
 * trait是一种代码复用机制
 * trait类是解决了PHP单一继承的问题,即一个子类只能继承一个父类,而一个父类可以被多个子类继承
 * trait类不能被实例化
 * trait类的同名方法的优先级为:本类同名方法,trait类同名方法,父类同名方法
 * trait类中如果有两个同名方法,可以use triatName1,traitName2{traitName1::func insteadof trait2;trait2::func as trait2Func}
 * 可以用use继承trait类中的方法
 * 继承或者使用trait后,可以直接用$this->调用trait或者父类中的方法。
 */
trait Demo1
{
    public function hello1()
    {
        return __METHOD__;
    }
}
trait Demo2
{
    public function hello2()
    {
        return __METHOD__;
    }
}
class Demo
{
    use Demo1,Demo2;
    public function hello()
    {
        return __METHOD__;
    }
    public function test1()
    {
        return $this->hello1();
    }
    public function test2()
    {
        return $this->hello2();
    }
}
$obj = new Demo;
echo $obj->hello();
echo '<hr>';
echo $obj->hello1();
echo '<hr>';

echo $obj->hello2();

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值