博客列表 >类的继承,抽象类的作用,实现,以及接口的基本语法演示

类的继承,抽象类的作用,实现,以及接口的基本语法演示

混混
混混原创
2020年05月24日 17:19:301057浏览

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. ?>

输出结果:

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议