出现原因:父类的不确定性
为什么设计抽象类这个技术?
1.在实际开发中,我们可能有这样一种类,是其他类的父类,但是它本身并不需要实例化,主要用途用于让子类来继承,这样达到代码复用,同时利于项目设计者,设计类。
2.关键字:abstract
3.基本用法:
abstract class 类名
{//方法
//属性
abstract 修饰符 function 函数名(参数列表);
/*abstract 修饰符 function 函数名(参数列表)
{
echo " 这个写法是错的!";//因为多写了方法体
}
*/
}
abstract修饰一个类,这个类叫做抽象类;
abstract修饰一个方法,这个类叫做抽象方法【如果是抽象方法,不能有方法体】;
4.注意事项:
a.抽象类可以没有抽象方法,同时还可以有实现了的方法(完整的函数);
b.一旦一个方法声明abstract方法,必须声明类为abstract类,即abstract类名对应abstract方法;
c.如果一个类继承某个抽象类,则它必须继承该抽象类的所有抽象方法,除非它为抽象类;
案例1:
<?php
abstract classAnimal //父类
{
public $name;
protected $price;
abstractpublic function cry();
//没有方法体,这个方法主要为了让子类去实现
}
class Dog extends Animal //子类
{
publicfunction cry()//子类继承父类方法
{
echo "小狗汪汪叫!";
}
}
$dog1=new Dog();
$dog1->cry();//
?>
共同学习,写下你的评论
评论加载中...
作者其他优质文章