批改状态:合格
老师批语:没有显示,第一是检查有没有打印输出 语句, 第二是打断点, 用die()随意显示点东西, 确定代码执行到哪了
<?php// 类的继承// 父类: 基类class User{protected $name = '卫斯理';protected $age = 45;private $salary = 1;protected static $nationality = '中国/香港';public function write(){return "姓名: {$this->name} , 年龄: {$this->age}";}}// 子类对父类的三种操作: 继承, 重写, 扩展// 1. 继承: 父类的二类成员自动成为子类的成员// 2. 重写: 覆写与父类/基类同名的成员(属性, 方法)// 3. 扩展: 子类添加自身的方法来增加/扩展父类的功能class Rob extends User{// 1. 重写父类成员// 属性重写protected $age = 55;// 方法重写, 方法级的多态public function write(){// 在子类中可以引用父类成员// parent::write()return parent::write() . ', 是一个不可思议事件的探索者~~';}// 2. 扩展// 属性扩展protected $profession = '未知探索者';// 方法扩展public function write1(){return parent::write() . ", 职业: {$this->profession}";}}// 客户端$user = new User;echo $user->write() . '<br>';$rob = new Rob;echo $rob->write() . '<br>';echo $rob->write1() . '<br>';
演示效果
<?php// 抽象类的作用与实现// 抽象类: 部分分离了" 设计(抽象类中完成)与实现(工作类中完成)"abstract class User{protected $name = '王胖子';protected $age = 40;// 类方法protected function output(){return "姓名: {$this->name} , 年龄: {$this->age}";}// 抽象方法:没有方法体,类方法是抽象类的,称为抽象类abstract protected function output1();}// 工作了实现例,也可是一个抽象类abstract class Rob extends User{protected $profession = '摸金校尉助手';// 必须将抽象类中的抽象方法实现protected function output1() {return parent::output() . ", 职业: {$this->profession}";}}// 客户端// 抽象类不能被实例化,最终工作类: 允许实例化class Work extends Rob{public function output1(){return parent::output1();}}$work = new Work();echo $work->output1();
演示效果
<?php// 接口: 完成分离了"设计与实现"// 关键字: interface// 使用与类相似的语法: 抽象方法, 常量, 构造方法(魔术方法的一种)// 默认访问控制必须是public// 接口允许多继承, 从而间接实现了PHP的多继承// implements// 接口的基本语法 -->单接口interface iUser{// 接口常量const Nation = '中国';// 接口方法(抽象方法)public static function output();}// 工作类实现接口class User implements iUser{// 类变量protected static $name = '王胖子';// 接口中的抽象方法,必须在工作类实现public static function output(){return self::$name . '的国籍是'. iUser::Nation;}}// 客户端echo User::output();
演示效果
总结:
1.PHP面向对象的三大特征是封装、继承、多态。
子类对父类(基类)的三种操作:继承(系统自动完成)、重写、扩展。
2.抽象类的演示中,不知哪里有问题,总是没有结果显示,每条语句都对照过,查不出问题,最后没办法,只能另起文件再做一次就没问题了。我估计是搜狗输入法和这个VSC编辑器配合的问题。
3.单接口的语法:常量、抽象方法
关键词:interface
实现接口的关键词:implement
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号