博主信息
博文 11
粉丝 0
评论 0
访问量 11787
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
学习 PHP 的抽象类与接口
PHP新手学习记录
原创
1005人浏览过

类继承的三大功能:继承、重写、扩展

  1. // 父类
  2. class Book
  3. {
  4. public $title = '三字经';
  5. protected $price = '20';
  6. private $isbn = '123-456';
  7. public function show()
  8. {
  9. echo "《 {$this->title} 》,售价:{$this->price} 元,ISBN:{$this->isbn}。";
  10. }
  11. }
  12. // 继承
  13. class Book1 extends Book
  14. {
  15. // 重写属性
  16. public $title = '千字文';
  17. protected $price = 30;
  18. private $isbn = '456-123';
  19. // 属性扩展
  20. // 静态属性不能通过已实例化的对象访问,静态方法可以访问
  21. public static $author = '周兴嗣';
  22. // 重写方法
  23. public function show()
  24. {
  25. // 引用父类中已有的方法
  26. echo parent::show() . '作者:' . self::$author;
  27. }
  28. // 扩展方法,增加父类的功能
  29. public static function show1()
  30. {
  31. echo ' 《千字文》作者是 ' . self::$author;
  32. }
  33. }
  34. $book = new Book();
  35. echo $book->show() . '<br><hr>';
  36. $book1 = new Book1();
  37. echo $book1->show() . '<hr>';
  38. Book1::show1();
  39. echo '<hr>';

输出结果:

抽象类的作用与实现

  1. // 抽象类(设计)不能被实例化,至少要有一个抽象方法
  2. abstract class Phone
  3. {
  4. protected $system = 'ios';
  5. protected $brand = 'apple';
  6. // 抽象方法,没有方法体,其功能在子类中实现
  7. abstract protected function display();
  8. }
  9. // 工作类(实现)
  10. class IPhone extends Phone
  11. {
  12. protected $network = '5G';
  13. public function display()
  14. {
  15. return "{$this->brand} 的网络制式是 {$this->network}";
  16. }
  17. }
  18. $iphone = new IPhone();
  19. echo $iphone->display(); // apple 的网络制式是 5G

接口的基本语法

  1. // 接口语法
  2. interface User
  3. {
  4. // 接口属性
  5. const USERTYPE = 'VIP';
  6. // 接口方法,必须是抽象方法
  7. public function getDiscount();
  8. }
  9. // 工作类
  10. class VipUser implements User
  11. {
  12. private $discount = 0.8;
  13. // 必须实现接口中的方法
  14. public function getDiscount()
  15. {
  16. return " 用户的折扣率是:{$this->discount}";
  17. }
  18. }
  19. $vipuser = new VipUser();
  20. echo User::USERTYPE . $vipuser->getDiscount();

输出结果:

批改老师:天蓬老师天蓬老师

批改状态:合格

老师批语:接口的用法, 大家以后还要多多练习
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学