批改状态:合格
老师批语:接口的用法, 大家以后还要多多练习
// 父类class Book{public $title = '三字经';protected $price = '20';private $isbn = '123-456';public function show(){echo "《 {$this->title} 》,售价:{$this->price} 元,ISBN:{$this->isbn}。";}}// 继承class Book1 extends Book{// 重写属性public $title = '千字文';protected $price = 30;private $isbn = '456-123';// 属性扩展// 静态属性不能通过已实例化的对象访问,静态方法可以访问public static $author = '周兴嗣';// 重写方法public function show(){// 引用父类中已有的方法echo parent::show() . '作者:' . self::$author;}// 扩展方法,增加父类的功能public static function show1(){echo ' 《千字文》作者是 ' . self::$author;}}$book = new Book();echo $book->show() . '<br><hr>';$book1 = new Book1();echo $book1->show() . '<hr>';Book1::show1();echo '<hr>';
输出结果:
// 抽象类(设计)不能被实例化,至少要有一个抽象方法abstract class Phone{protected $system = 'ios';protected $brand = 'apple';// 抽象方法,没有方法体,其功能在子类中实现abstract protected function display();}// 工作类(实现)class IPhone extends Phone{protected $network = '5G';public function display(){return "{$this->brand} 的网络制式是 {$this->network}";}}$iphone = new IPhone();echo $iphone->display(); // apple 的网络制式是 5G
// 接口语法interface User{// 接口属性const USERTYPE = 'VIP';// 接口方法,必须是抽象方法public function getDiscount();}// 工作类class VipUser implements User{private $discount = 0.8;// 必须实现接口中的方法public function getDiscount(){return " 用户的折扣率是:{$this->discount}";}}$vipuser = new VipUser();echo User::USERTYPE . $vipuser->getDiscount();
输出结果:
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号