1.abstract定义为抽象的类不能被实例化。
2.它里面至少有一个方法是被声明为抽象的,那么这个类就必须被声明为抽象的。
3.被定义为抽象的方法只是声明了其调用方式(参数),不能定义其具体的功能实现。
4.子类继承一个抽象类的时候,子类必须定义父类中的所有抽象方法
5.子类实现的方法中类型和数量必须一致,如果参数是可选的也可以
代码语言:javascript复制<?php
//抽象类
abstract class TestAbs{
//抽象方法
abstract protected function getName();
//普通方法
public function printOut(){
$this->getName();
}
}
class Test extends TestAbs{
//子类定义的方法,参数个数必须一致,也可以是可选的
public function getName($str=''){
echo 111;
}
}
$test=new Test();
$test->printOut();//此时正常输出 111