php面向对象之抽象类、接口
抽象类
为什么设计抽象类这个技术?
1.在实际开发中,我们可能有这样一种类,是其它类的父类,但是它本身并不需
要实例化,主要用途是用于让子类来继承,这样可以到达代码复用. 同时利于项目设计者,设计类.
/在实现方法覆盖的时候,访问修饰符可以不一样
//但是必须满足: 子类的访问范围>=父类的访问范围
abstract class Animal{
public $name;
protected $age;
//这个方法没有方法体,这个方法主要是为了让子类去实现.
abstract public function cry();
}
class Cat extends Animal{
public function cry(){
echo "猫猫叫唤..";
}
}
//创建一个子类实例
$cat1=new Cat();
$cat1->cry();
使用抽象类的注意事项:
1.基本用法
abstract class 类名{
//方法[]
//属性[]
}
2.如果一个类使用abstract 来修饰,则该类就是抽象类, 如果一个方法被
abstract修饰,则该方法就是抽象方法【抽象方法就不能有方法体.】
3.抽象类可以没有抽象方法.同时还可以有实现了的方法.
//在实现方法覆盖的时候,访问修饰符可以不一样
//但是必须满足: 子类的访问范围>=父类的访问范围
abstract class Animal{
public $name="abc";