Blogger Information
Blog 8
fans 0
comment 1
visits 11412
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
类的继承,抽象类的作用,实现,以及接口的基本语法演示
混混
Original
1061 people have browsed it

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

输出结果:

Correcting teacher:天蓬老师天蓬老师

Correction status:qualified

Teacher's comments:类的继承, 其实里面有许多的知识点, trait, interface, abstract, final非常多, 要多练习
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post