Blogger Information
Blog 53
fans 3
comment 0
visits 55239
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
11月29日-抽象类、接口-***线上九期班
邯郸易住宋至刚
Original
581 people have browsed it

一、抽象类

代码

  1. <?php
  2. //抽象类(有一个抽象方法setName())
  3. abstract class Demo1
  4. {
  5. //成员属性
  6. public $name;
  7. //构造方法
  8. public function __construct($name)
  9. {
  10. $this->name = $name;
  11. }
  12. //返回用户名
  13. public function getName()
  14. {
  15. return '该用户名字:'.$this->name;
  16. }
  17. //重置用户名的抽象方法
  18. public abstract function setName($value);
  19. }
  20. //继承抽象类
  21. class demo2 extends Demo1
  22. {
  23. //继承父类构造方法
  24. public function __construct($name)
  25. {
  26. parent::__construct($name);
  27. }
  28. //实现父类当中的抽象方法
  29. public function setName($value)
  30. {
  31. return $this->name = $value;
  32. }
  33. }
  34. //客户端调用
  35. //实例化子类
  36. $obj = new Demo2('hhappysong');
  37. echo $obj->getName();
  38. echo '<hr>';
  39. //调用父类属性,重新赋值
  40. $obj->name = 'peter';
  41. echo $obj->getName();
  42. echo '<hr>';
  43. //调用已经在子类中实现的父类中的方法setName()
  44. $obj->setName('Jack');
  45. echo $obj->getName();

结果

二、接口

代码

  1. <?php
  2. interface iDemo3
  3. {
  4. //分布方式
  5. public function setLocation($location);
  6. //出租方式
  7. public function setRent($rent);
  8. }
  9. class Room implements iDemo3
  10. {
  11. public $location;
  12. public $rent;
  13. //必须实现setLocation()
  14. public function setLocation($location)
  15. {
  16. $this->location = $location;
  17. }
  18. //必须实现setRent()
  19. public function setRent($rent)
  20. {
  21. $this->rent = $rent;
  22. }
  23. //自定义方法
  24. public function getInfo()
  25. {
  26. return '这是'.$this->location.$this->rent.'***';
  27. }
  28. }
  29. //客户端调用
  30. //实例化
  31. $obj = new Room();
  32. //调用setLocation()设置分布方式
  33. $obj->setLocation('分散式');
  34. //调用setRent()设置出租方式
  35. $obj->setRent('合租');
  36. //调用getInfo()获取出租相关信息
  37. echo $obj->getInfo();

结果

三、总结

1、只要类中有一个抽象方法,这个类必须声明为抽象类

2、抽象类、接口中的方法只能有方法,不能有方法体

3、定义在接口和抽象类中的方法,必须在子类中全部实现

Correcting teacher:天蓬老师天蓬老师

Correction status:qualified

Teacher's comments:写得不错哟, 抽象与接口是现代编程的基础,非常重要
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