Blogger Information
Blog 40
fans 0
comment 0
visits 37564
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
PHP学习总结(16)trait类的实例分析——2019年10月10号20:00分
虎子爸爸
Original
802 people have browsed it

结果:

这是基类Info的content属性
这是基类Info的content方法
这是基类Info的phone属性
我是正常类的reg方法
我是继承类User类的del方法
我是正常类Login的name属性
我是继承类User类的age属性

实例:

实例

<?php
namespace User;
// 创建一个正常类class Info{}
// 创建一个基类trait Info{}
//创建一个抽象类 abstract class Info{}
// 创建一个接口类interface Info{}
// 创建一个继承类并使用基类class User extends Info{use Info;}

trait Info{
    public $content="这是基类Info的content属性";
    public $phone = "这是基类Info的phone属性";
    public function content(){
        echo "这是基类Info的content方法";
    }
    public function login(){
        echo "这是基类Info的login方法";
    }
    
    
}
class Login{
    public $name="我是正常类Login的name属性";
    //public $phone = "这是User类的phone属性";
    public function reg(){
        echo "我是正常类的reg方法";
    }
    public function content(){
        echo "这是一个正常类Login类的content方法";
    }
}
class User extends Login{
    // 这里引入基类Info
    //基类有的属性,User类、Login类就不能再有,会报错
    // public $phone = "这是User类的phone属性";
    use Info;
    public $age="我是继承类User类的age属性";    
    public function del(){
        echo "我是继承类User类的del方法";
    }
}
//先实例化一个对象
$user = new User();
echo $user->content;
echo "<br>";
$user->content();
echo "<br>";
echo $user->phone;
echo "<br>";
echo $user->reg();
echo "<br>";
echo $user->del();
echo "<br>";
echo $user->name;
echo "<br>";
echo $user->age;


?>

运行实例 »

点击 "运行实例" 按钮查看在线实例

总结:
use一下多方便!既能简化命名空间,还能直接加载类!

Correction status:qualified

Teacher's comments:说得对, trait 好用, 但不要滥用, 要有度, 否则 会让代码变得维护困难
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