php面向对象之对象成员,静态成员,继承


类自定加载器

  1. <?php
  2. spl_autoload_register(function($className) {
  3. echo $className."<br/>";
  4. // $file = __DIR__.'\\controller\\'.str_replace('\\',DIRECTORY_SEPARATOR,$className).'.php';
  5. $file = "..\\oop\\MyClass\\".str_replace('\\',DIRECTORY_SEPARATOR,$className).'.php';
  6. if(!(is_file($file) && file_exists($file))){
  7. throw new \Exception("类 - 文件名不合法或文件不存在");
  8. }
  9. require $file;
  10. });

Person 类

  1. <?php
  2. class Person{
  3. // 父类属性
  4. public $Name;
  5. private $Age;
  6. protected $Job;
  7. public static $Count;
  8. // 父类构造方法
  9. public function __construct($name,$age,$job){
  10. $this->Name = $name;
  11. $this->Age = $age;
  12. $this->Job = $job;
  13. }
  14. function getAge(){
  15. return $this->Age;
  16. }
  17. function setAge($age){
  18. $this->Age = $age;
  19. }
  20. function show(){
  21. echo "这是父类Person的show方法<br />";
  22. }
  23. }

Man类,继承自Person

  1. <?php
  2. class Man extends Person{
  3. //子类自有属性
  4. public $Shenggao;
  5. //重写父类构造方法
  6. public function __construct($name,$age,$job,$shengao){
  7. parent::__construct($name,$age,$job);
  8. $this->Shenggao = $shengao;
  9. self::$Count += 1;
  10. }
  11. // 重写父类show方法,同时调用父类的show方法
  12. public function show(){
  13. parent::show();
  14. echo '这是子类重写父类show方法';
  15. }
  16. public function staticCount(){
  17. echo '这是静态Person类的静态属性值:'.self::$Count;
  18. }
  19. }

Client

  1. <?php
  2. require 'autoLoad.php';
  3. $liu = new Man("刘德华",59,"歌手演员",180);
  4. $zhang = new Man("张学友",56,"歌手演员",182);
  5. $liu->show();//父类的show方法
  6. echo '<pre>';
  7. var_dump($liu);
  8. var_dump($zhang);
  9. // 通过对方访问方法,访问父类私有属性
  10. $liu->setAge(60);
  11. echo '通过对方访问方法,访问父类私有属性:'.$liu->getAge();
  12. echo '<br />';
  13. echo $liu->staticCount();

更多相关文章

  1. 作业内容:oop基础:请举例实例演绎以下难点 1. 类(对象抽象化的结
  2. 快递100账户错误详解-接口账号,业务,增值服务,票据和其他常见问
  3. 快递100参数错误-面单类错误(电子面单/发货单/模板)常见问题和解
  4. 调用快递100接口物流信息错误常见问题和解决方法
  5. 类与对象的概念,类与对象的特点及构造函数
  6. RAID5常见故障介绍及raid5故障后常规操作方法
  7. 面向对象编程(oop)初体验
  8. 0805 一.将数组的偶数去出, 二.尝试实现计算器功能
  9. 抖音用户评论和ID的采集方法

随机推荐

  1. 版本控制:如何在环境之间控制css和js压缩/
  2. onunload无法在Chrome和Safari中使用
  3. Javascript没有返回样式属性[重复]
  4. js学习之路2: JavaScript 变量
  5. javaES6箭头函数的全新特性
  6. JQuery的。简单的下拉选择菜单行为问题
  7. JavaScript学习笔记-JS中的异步编程
  8. 如何使用javascript或vbscript或jquery设
  9. 在rails中基于javascripts on / off处理H
  10. 代码点火-如何从控制器返回Json响应