php的抽象类

抽象类

    抽象类不可以被实例化,但是可以被继承。抽象类的意义在于将相同的行为抽象出来,让子类去具体实现其方法。从而实现代码的复用性

class Animal{//Animal是不需要被实例化的
function speak(){

echo "can't shout";

}
}

class Cat extends Animal{
function speak($a){
echo "喵";
}


}

class Dog extends Animal{
function speak(){
echo "旺";
}
}

$cat=new Cat();
$cat->speak();

<?php


/**
在实现方法覆盖的时候,访问修饰符可以不一样,
但是必须注意的是,子类的访问范围必须是>=父类的访问访问范围的
例如父类的方法是protected 的,就不能覆盖为private的

*/
abstract class Animal{//不能被实例化了
public $name;
protected $age;
//这个方法的存在是为了让子类去实现,其没有实现体
abstract function speak();
}

class Cat extends Animal{//继承了Animal就必须实现其里面的方法
protected function speak(){
echo "喵";
}
}

class Dog extends Animal{
function speak(){
echo "旺";
}
}

$cat=new Cat();

原文地址:https://www.cnblogs.com/tangyue/p/3759461.html