加入收藏 | 设为首页 | 会员中心 | 我要投稿 应用网_丽江站长网 (http://www.0888zz.com/)- 科技、建站、数据工具、云上网络、机器学习!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP面向对象之抽象类介绍

发布时间:2022-07-29 14:37:00 所属栏目:PHP教程 来源:互联网
导读:还是按照之前一贯的思路,我们通过3W1H的方式进行学习,那么首先我们来了解一下 (一)、了解PHP中抽象类的定义(What) 抽象类往往用来表征对问题领域进行分析、设计中得出的抽象概念,是对一系列看上去不同,但是本质上相同的具体概念的抽象。通常在编程语
  还是按照之前一贯的思路,我们通过3W1H的方式进行学习,那么首先我们来了解一下
 
  (一)、了解PHP中抽象类的定义(What)
  抽象类往往用来表征对问题领域进行分析、设计中得出的抽象概念,是对一系列看上去不同,但是本质上相同的具体概念的抽象。通常在编程语句中用 abstract 修饰的类是抽象类。
 
  和接口的不同之处在于,接口中的方法都是不实现的,只是单纯的定义,但是抽象类中的方法是可以实现的。
 
  (二)、了解PHP中抽象类的作用(Why)
  在PHP中的类当中,有很多类会被不断的重写,这个时候我们可以使用抽象类,怎么做呢?就是先写一个公共的类,然后实例化之后我们可以重复去调用。这样可以提高代码的可重用性
 
  (三)、了解PHP中抽象类的使用场景(Where)
  1、如果发现代码中很多类都有相似或者共同的方法,我们可以把这些相同或者相似的方法抽离出来,封装到抽象类中。
 
  抽象类和接口有点相似,可以这么说,接口是一个特殊的抽象类,只不过接口里面全都是抽象的方法,(所谓抽象就是没有具体的实现),但是抽象类中的部分方法,是可以具备实现的功能,
 
  (四)、掌握PHP中抽象类的具体实现(How)
  总结:
 
  1、抽象类的定义通过abstract 定义,比如abstract class 类名{}
 
  2、抽象类的方法的定义也是通过abstract定义,比如abstract public function 方法名(){}
 
  3、抽象类是不能被实例化的
 
  4、要继承一个抽象类,通过关键字extends
 
  5、抽象类的子类必须要实现抽象类中未实现的所有方法,也就是说要重写抽象类中所有abstract的方法
 
  6、抽象类的子类虽然没有实现抽象类中的已经实现的方法,一样可以调用这些方法,其实结合继承我们可以很好理解这点
 
  每个总结都是通过实践得出来的,现在我们用实践来演示总结,这样可以促进理解,让每个总结理解起来更加清晰,直观
 
  (五)、具体代码
  案例一、
 
  实践目标:
 
  1、抽象类的定义通过abstract 定义,比如abstract class 类名{}
 
  2、抽象类的方法的定义也是通过abstract定义,比如abstract public function 方法名(){}
 
  具体代码如下:
 
 
  <?php
 
  abstract class Animal{
 
      abstract public function eat();//抽象方法
 
      //呼吸
 
      public function breath(){
 
          //所有动物的呼吸方法都是一样的,就不需要使用多态了
 
          echo "呼吸<br/>";
 
      }
 
  }
 
  ?>

(编辑:应用网_丽江站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读