php抽象类

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php抽象类相关的知识,希望对你有一定的参考价值。

出现原因:父类不确定性


为什么设计抽象类这个技术?

1.在实际开发中,我们可能有这样一种类,是其他类的父类,但是它本身并不需要实例化,主要用途用于让子类来继承,这样达到代码复用,同时利于项目设计者,设计类。

2.关键字abstract

3.基本用法

 abstract class 类名

  {//方法

   //属性

   abstract  修饰符 function 函数名(参数列表);

   /*abstract  修饰符 function 函数名(参数列表)

  {

   echo " 这个写法是错的!";//因为多写了方法体

   }

 */

  }

 

abstract修饰一个类,这个类叫做抽象类;

abstract修饰一个方法,这个类叫做抽象方法【如果是抽象方法,不能有方法体】;

 

4.注意事项

a.抽象类可以没有抽象方法,同时还可以有实现了的方法(完整的函数);

b.一旦一个方法声明abstract方法,必须声明类为abstract类,即abstract类名对应abstract方法;

c.如果一个类继承某个抽象类,则它必须继承该抽象类的所有抽象方法,除非它为抽象类;

 

 

 

案例1

<?php

 abstract class Animal //父类

 {

 public $name;

 protected $price;

 abstractpublic  function cry();

 //没有方法体,这个方法主要为了让子类去实现

 

 }

 class Dog extends Animal //子类

 {

 public function cry()//子类继承父类方法

 {

 echo "小狗汪汪叫!";

 

 

 }

 }

 

 $dog1=new Dog();

 $dog1->cry();//

?>

 


本文出自 “韦小宝叔叔” 博客,请务必保留此出处http://darmi.blog.51cto.com/11607923/1774881

以上是关于php抽象类的主要内容,如果未能解决你的问题,请参考以下文章

PHP中抽象类和接口的区别

PHP抽象的方法及概念

php抽象类和抽象方法

代码学习PHP面向对象之抽象类与接口

在谈PHP中的 抽象类(abstract class)和 接口(interface)

php 抽象类和接口的区别