//抽象出一个人的接口
interface Person{
public function showInfo();
}
//继承于人的学生类
class Student implements Person{
public function showInfo()
{
// TODO: Implement showInfo() method.
echo "我是一个学生";
}
}
//继承于人的教师类
class Teacher implements Person{
public function showInfo()
{
// TODO: Implement showInfo() method.
echo "我是一个老师";
}
}
//人类工厂
class PersonFactory{
public static function factory($person_type){
    //传进来的人的类型,首字母大写
$class_name = ucfirst($person_type);
if (class_exists($class_name)){
return new $class_name;
}else{
throw new Exception("类:".$class_name."不存在");
}
}
}
//学生类的实例化
$student = PersonFactory::factory('student');
$student->showInfo();

最新文章

  1. lua相关笔记
  2. SqlDataReader的使用
  3. C语言位运算详解[转]
  4. PHP 逻辑思维题
  5. Makefile中的wildcard和patsubst
  6. 通过DWR简化AJAX开发
  7. SpringMVC框架学习笔记(3)——controller配置汇总
  8. Vue学习笔记5
  9. Docker入门 配置篇
  10. jmeter 常见问题汇总
  11. redis实战笔记(6)-第6章 使用 Redis构建应用程序组件
  12. Linux终端监控工具之dstat
  13. HDCMS常用的一些调用!
  14. 【linux】linux权限管理
  15. How To Install Cacti On Ubuntu 14
  16. JSP 问题总结
  17. Android NDK 编译选项设置[zhuan]
  18. PHP5 ini配置文件优化
  19. CF570D Tree Requests
  20. 我的第7个java程序--把java web项目改为java project项目--mybatis

热门文章

  1. ubuntu16.04安装docker11.09
  2. dbvisualizer设置自动补全不显示模式名
  3. 用户积分排行榜功能-Redis实现
  4. C# 下载模板
  5. 关于 ioctl 函数
  6. POJ 3414 Pots (dfs,这个代码好长啊QAQ)
  7. 让vue用于小程序setData方法
  8. [bzoj2456]mode 题解
  9. horizontalAccuracy 检测定位成功
  10. asp.net ToString() 输出格式详细