PHP以接口方式实现多重继承(完全模拟)--学习笔记
2016-11-25 12:08
846 查看
[b] 1.UML类图:[/b]
[b]2.PHP代码:[/b]
[b]2.PHP代码:[/b]
<?php /** * Created by PhpStorm. * User: andy * Date: 16-11-23 * Time: 下午7:57 */ interface User { function getName(); } interface Teacher { function getWorkYear(); } class Student implements User { private $name = 'lisi'; function getName() { // TODO: Implement getName() method. echo 'Student name is ' . $this->name . '<br />'; } } class GraduateTeacher implements Teacher { private $work_year = 2; function getWorkYear() { // TODO: Implement getWorkYear() method. echo 'Teacher work year is ' . $this->work_year . '<br />'; } } class GraduateStudent extends Student implements Teacher { private $teacher; public function __construct() { $this->teacher = new GraduateTeacher(); } function getWorkYear() { $this->teacher->getWorkYear(); } } class Test { static function getName(User $student) { $student->getName(); } //当Teacher改成GraduateTeacher,到后面代码行的“Test::getWorkYear($lisi);”就会报错 static function getWorkYear(Teacher $teacher) { $teacher->getWorkYear(); } } $lisi = new GraduateStudent(); $lisi->getName(); $lisi->getWorkYear(); echo '<hr />'; Test::getName($lisi); Test::getWorkYear($lisi); //这里不会报错,因为$lisi所属的类GraduateStudent,实现了Teacher的接口,相当于Teacher身份
相关文章推荐
- PHP 开发 APP 接口 学习笔记与总结 - XML 方式封装通信接口
- PHP 开发 APP 接口 学习笔记与总结 - JSON 结合 XML 方式封装通信接口
- php扩展开发笔记(8)继承和实现接口
- JavaSE--学习实战完全笔记--增强版的线程创建方式--实现Callable接口
- php利用反射真正实现多继承(非接口模拟)
- [原创]java WEB学习笔记55:Struts2学习之路---详解struts2 中 Action,如何访问web 资源,解耦方式(使用 ActionContext,实现 XxxAware 接口),耦合方式(通过ServletActionContext,通过实现 ServletRequestAware, ServletContextAware 等接口的方式)
- Objective-C学习笔记---类别(实现多重继承的方法)
- php学习笔记(三十)ajax请求和接收参数的实现方式(包括json数据格式的简单处理)
- Objective-C学习笔记---类别(实现多重继承的方法)
- PHP 开发 APP 接口 学习笔记与总结 - APP 接口实例 [3] 首页 APP 接口开发方案 ② 读取缓存方式
- PHP 开发 APP 接口 学习笔记与总结 - APP 接口实例 [4] 首页 APP 接口开发方案 ③ 定时读取缓存方式
- Java 学习笔记 (3) -抽象类 abstract 接口 interface 内部类 inner class 继承 extends 实现 implements 包 package
- EJB3.0学习笔记---Bean实现多个接口的情况下定义,访问方式:
- Javascript学习笔记:6种实现继承的方式
- Learn Objective‐C,学习笔记03 类别(实现多重继承的方法)
- php学习笔记--trait的使用(为实现多继承产生)
- C++学习笔记22 关于多重继承 接口
- PHP 开发 APP 接口 学习笔记与总结 - APP 接口实例 [2] 首页 APP 接口开发方案 ① 读取数据库方式
- PHP 开发 APP 接口 学习笔记与总结 - JSON 方式封装通信接口
- php利用反射真正实现多继承(非接口模拟)