博客列表 >抽象类、接口 - PHP培训九期线上班

抽象类、接口 - PHP培训九期线上班

。
原创
2019年12月17日 21:20:58585浏览

抽象类

1.abstract 定义抽象方法或抽象类

2.类中只要有一个抽象方法, 该类就应该声明为抽象类

3.抽象类只能被继承,不能实例化,并且抽象方法必须在子类实现

  1. <?php
  2. //定义抽象类
  3. abstract class People{
  4. public $name;
  5. public $age;
  6. public function __construcct($name,$age)
  7. {
  8. $this->name = $name;
  9. $this->age = $age;
  10. }
  11. abstract public function getInfo();
  12. }
  13. class Student extends People{
  14. public function __construcct($name,$age)
  15. {
  16. //手动重写父类的构造方法
  17. parent::__construcct($name,$age);
  18. }
  19. public function getInfo(){
  20. echo '我的名字是:'.$this->name . ',我今年' . $this->age . '岁';
  21. }
  22. }
  23. $a = new Student('李四',20);
  24. $a->getInfo();

接口

定义接口:interface

类实现接口的关键字:implements

  1. <?php
  2. //定义接口
  3. interface People{
  4. public function getInfo();
  5. }
  6. class Student implements People{
  7. public $name;
  8. public $age;
  9. public function __construcct($name,$age)
  10. {
  11. $this->name = $name;
  12. $this->age = $age;
  13. }
  14. public function getInfo(){
  15. echo '我的名字是:'.$this->name . ',我今年' . $this->age . '岁';
  16. }
  17. }
  18. $a = new Student('李四',20);
  19. $a->getInfo();

总结:

1、抽象类不能实例化、类中抽象方法,在子类中必须全部实现
2、接口中方法必须全部实现
3、接口类和抽象类的区别:

抽象类 :
1.类中至少有一个抽象方法
2.前面加abstract
接口:
1.成员属性为常量const
2.前面不用加abstract
3.类中全部为抽象方法,接口抽象方法为public

4、接口类和抽象类 共同点:

1.本身不能被实例化,必须继承或者引用
2.继承和引用后,抽象方法必须重载才能实例化


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