博主信息
博文 8
粉丝 0
评论 1
访问量 14528
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
类的继承,抽象类的作用,实现,以及接口的基本语法演示
混混
原创
1615人浏览过

1.类的继承三大功能:

(1).封装
(2).继承
(3).多态

关键字:extends

实例演示:子类继承父类,并修改添加父类的方法

  1. <?php
  2. class user
  3. {
  4. public $name='刘德华';
  5. public $age=45;
  6. protected $meny=3000;
  7. private $ment='T1程序员';
  8. /**
  9. * 根据工龄,工资逐步调高
  10. *@$var 最初的入职时间
  11. *@$res 最初的工资
  12. */
  13. public function meny()
  14. {
  15. $var=$this->age;
  16. $res=$this->meny;
  17. if($var<=60){
  18. for($i=$var;$i<=60;$i++){
  19. $res=$res+$res*0.05;
  20. }
  21. }
  22. return $this->name.'到退休后一共有多少工资'.$res;
  23. }
  24. }
  25. $obj=new user();
  26. echo $obj->meny();
  27. // var_dump($obj);
  28. /**
  29. * 入职后表现较好,老板涨了基本工资,
  30. * 但是由于效益不好工资涨幅下调
  31. */
  32. class user1 extends user
  33. {
  34. public $meny=5000;
  35. public function meny1()
  36. {
  37. if($this->age <=60){
  38. for($i=$this->age;$i<=60;$i++){
  39. $this->meny=$this->meny+$this->meny*0.3;
  40. }
  41. }
  42. return '实际'.parent::meny();
  43. }
  44. }
  45. echo '<hr>';
  46. $obj1=new user1();
  47. echo $obj1->meny1();
  48. ?>

输出结果:


2.抽象类的作用与实现

作用:抽象类不能实例化,只能由子类继承并完成父类的抽象方法,主要目的是要求子类遵循父类的规则。
关键字:abstract
实例演示:

  1. <?php
  2. abstract class user
  3. {
  4. public $name='刘德华';
  5. public $age=45;
  6. protected $meny=3000;
  7. private $ment='T1程序员';
  8. /**
  9. * 根据工龄,工资逐步调高
  10. *@$var 最初的入职时间
  11. *@$res 最初的工资
  12. */
  13. public function meny()
  14. {
  15. $var=$this->age;
  16. $res=$this->meny;
  17. if($var<=60){
  18. for($i=$var;$i<=60;$i++){
  19. $res=$res+$res*0.05;
  20. }
  21. }
  22. // echo $this->ment;
  23. return $this->name.'到退休后一共有多少工资'.$res;
  24. }
  25. abstract public function tmeny();
  26. }
  27. // $obj=new user();
  28. // echo $obj->meny();
  29. // var_dump($obj);
  30. /**
  31. * 入职后表现较好,老板涨了基本工资,
  32. * 但是由于效益不好工资涨幅下调
  33. */
  34. class user1 extends user
  35. {
  36. public $kiss='T1高级工程师';
  37. public $meny=5000;
  38. public function meny1()
  39. {
  40. if($this->age <=60){
  41. for($i=$this->age;$i<=60;$i++){
  42. $this->meny=$this->meny+$this->meny*0.3;
  43. }
  44. }
  45. return '实际'.parent::meny();
  46. }
  47. public function tmeny()//实现父类中的抽象方法
  48. {
  49. echo '<hr>';
  50. return $this->name.'由于表现非常好,晋升为'.$this->kiss;
  51. }
  52. }
  53. echo '<hr>';
  54. $obj1=new user1();
  55. echo $obj1->meny1();
  56. echo $obj1->tmeny();
  57. ?>

输出结果:


3.接口的作用与实现

作用:完全完成设计与分定义接口类类,从而实现php的多继承
关键字:interface 定义接口类;implements 继承接口类

实例演示:

  1. <?php
  2. // echo 1111;
  3. interface iUser
  4. {
  5. const SHOP_ID='KB-4白金冠军版球鞋';
  6. public function res();
  7. }
  8. class user implements iUser
  9. {
  10. public $name='周星驰';
  11. public function res()
  12. {
  13. return $this->name.'拥有一双'.iUser::SHOP_ID;
  14. }
  15. }
  16. $obj=new user;
  17. echo $obj->res();
  18. ?>

输出结果:

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

批改状态:合格

老师批语:类的继承, 其实里面有许多的知识点, trait, interface, abstract, final非常多, 要多练习
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系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+教程免费学