博主信息
博文 33
粉丝 0
评论 0
访问量 35153
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
服务端 - PHP - OOP之Trait
原创
924人浏览过

服务端 - PHP - OOP之Trait

一、概述

  • 语法:trait Trait名;
  • 描述:一组具有相同或者类似功能的代码集
  • 特点:不能被实例化且只能嵌入宿主类中使用
  • 作用:实现代码复用
  • trait成员:包含常规成员、静态成员和抽象成员,但不包含类常量

二、实现

1. 覆盖基类方法,降低单继承的影响

  1. //定义一个trait
  2. trait tSayName {
  3. public static function sayName() {
  4. return '我的名字叫小明';
  5. }
  6. }
  7. //基类
  8. class a {
  9. public static function sayName() {
  10. return '我的名字叫小红';
  11. }
  12. }
  13. //扩展类
  14. class b extends a {
  15. use tSayName;
  16. }
  17. //客户端代码
  18. echo b::sayName();//trait在扩展类中的优先级大于基类,如果扩展类中也定义了同名的函数,那么当前类中的同名方法的优先级是最大的

2. 方法组合,横向拓展

  1. //定义第一个trait
  2. trait tA {
  3. public static function sayName() {
  4. return '我的名字叫小明';
  5. }
  6. }
  7. //定义第二个trait
  8. trait tB {
  9. public static function sayFrom() {
  10. return '我来自广东';
  11. }
  12. }
  13. //定义第三个trait
  14. trait tC {
  15. use tA, tB;//把多个类中用到的相同或者类似的方法写到trait里就完事了
  16. }
  17. //工作类
  18. class hello {
  19. use tC; //相当于use tA, tB;
  20. }
  21. //客户端代码
  22. echo hello::sayName(), hello::sayFrom();

三、课程总结

  • 今天学习了 PHP 的面向对象编程,通过上课认真听讲和认真完成老师布置的作业,使得我对 PHP 面向对象编程的理解和运用更加深入和熟悉。最主要的知识点是明白和掌握了Trait的特点以及它的基本用法。
批改老师:天蓬老师天蓬老师

批改状态:合格

老师批语:明白了接口, trait就非常不错了, 多少学生全卡在这了
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

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

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