博学而笃志 切问而近思 仁在其中
详情
php抽象类
作者:Aliot     发布时间:2017-07-02     评论:0     阅读:0

php抽象类

时间:2016-12-27 本站 guaitu

为什么需要设计抽象类?

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

1、抽象类的格式

abstract class 类名{

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

}

abstract class Animal{
public $name;
protected $age;
//这个方法没有方法体,主要是为了让子类去实现
abstract public function cry();
}
class Cat extends Animal{
public function cry(){
echo "猫正在叫!";
}
}
$cat1=new Cat();
$cat1->cry();
?>

2、用abstract关键字来修饰一个类,这个类就是抽象类;用abstract关键字来修饰一个方法,这个方法就是抽象方法,该方法就不能有方法体。

3、抽象类不能被实例化

4、抽象类不一定要包含abstract方法,即,抽象类可以没有abstract方法。

5、一旦类包含了abstract方法,则这个类必须声明为abstract

6、抽象方法不能有函数体

7、抽象类可以没有抽象方法,同时可以有实现了的方法

abstract class Animal{
public $name="www.bianceng.cn";
protected $age;
//这个方法没有方法体,主要是为了让子类去实现
abstract public function cry();
//抽象类中实现了的方法
public function getName(){
return $this->name;
}
}
class Cat extends Animal{
public function cry(){
echo "猫正在叫!";
}
}
$cat1=new Cat();
$cat1->cry();
echo "
".$cat1->getName();
?>

8、如果一个类继承了某个抽象类,则它必须实现该抽象类的所有抽象方法,除非它自己也声明为抽象类。

  //这是一个抽象类
abstract class A{
abstract function test();
}
class B extends A{
function test(){ //此方法如果不实现,将会报错
echo "www.bianceng.cn";
}
}
echo "good";
?>

URL: http://www.bianceng.cn/webkf/PHP/201612/50479.htm


相关文章
loading......
最新动态
所有评论

loading......

网站声明:
本站部分内容来自网络,如您发现本站内容
侵害到您的利益,请联系本站管理员处理。
联系站长
373515719@qq.com
关于本站:
编程参考手册