登录  /  注册
博主信息
博文 40
粉丝 0
评论 0
访问量 36352
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
PHP学习总结(16)trait类的实例分析——2019年10月10号20:00分
虎子爸爸
原创
782人浏览过

结果:

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

批改状态:合格

老师批语:说得对, trait 好用, 但不要滥用, 要有度, 否则 会让代码变得维护困难
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学