[PHP] 抽象类abstract的回顾

1.abstract定义为抽象的类不能被实例化。

2.它里面至少有一个方法是被声明为抽象的,那么这个类就必须被声明为抽象的。

3.被定义为抽象的方法只是声明了其调用方式(参数),不能定义其具体的功能实现。

4.子类继承一个抽象类的时候,子类必须定义父类中的所有抽象方法

5.子类实现的方法中类型和数量必须一致,如果参数是可选的也可以

<?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