<?php

/**
* Trait解决PHP单继承的一种方法,使开发人员在不同层次结构的类中复用属性和方法
* Trait无法实例化
* Trait不是类,不能被继承,所以不能再Trait中不能声明抽象方法
* Trait中无法声明常量
* ThinkPHP中Trait有应用
*/ //声明一个Trait
trait Name
{
public function getName()
{
return '张三';
}
} //声明一个Trait
trait Say
{
public function say() {
return 'world';
}
} //声明一个类
class Lang
{
//导入Trait(导入多个Trait用,分隔)
use Name,Say; public function sayPhp()
{
return 'php';
}
} class Chinese extends Lang
{
public function show()
{
return $this->getName().'会说'.$this->say().',还会说'.$this->sayPhp();
}
} $ch = new Chinese();
echo $ch->show();

  

最新文章

  1. easyui datagrid中 多表头方法总结
  2. java编码解码乱码问题
  3. 【特别推荐】Web 开发人员必备的经典 HTML5 教程
  4. C#,往线程里传参数的方法总结
  5. 实现点击不同的按钮加载不同的css
  6. Python中利用LSTM模型进行时间序列预测分析
  7. DataGridView控件的各种操作总结
  8. Inside of Jemalloc
  9. 如何从零开始学习DIV+CSS
  10. 深入理解计算机系统第二版习题解答CSAPP 2.4
  11. JavaScript学习总结【9】、DOM Ready
  12. reverse string | leetcode
  13. z
  14. 分布式版本控制git常见问题之gitignore冲突
  15. python中pygame模块的Linux下安装过程
  16. vue初尝试--项目结构
  17. go语言的开始入门(一)
  18. Asp.Net Core获取请求上下文HttpContext
  19. iOS - 提示用户升级版本并跳转到AppStore
  20. 03bootstrap_表格

热门文章

  1. [BZOJ2870]最长道路tree:点分治
  2. 6.并发编程--volatile
  3. #20175201 实现mypwd
  4. 第三周课程总结&amp;实验报告(一)
  5. 移动开发与PC开发区别
  6. java中的同步和异步
  7. jQuery file upload cropper的流程
  8. Mybaits二级缓存的使用与配置
  9. office toolkit怎么用(以激活office professional 2013为例)
  10. day64—ajax技术学习笔记