博客列表 >PHP学习总结(16)trait类的实例分析——2019年10月10号20:00分

PHP学习总结(16)trait类的实例分析——2019年10月10号20:00分

虎子爸爸
虎子爸爸原创
2019年10月12日 11:49:32810浏览

结果:

这是基类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一下多方便!既能简化命名空间,还能直接加载类!

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议