抽象方法很特殊,只在父类中声明,但在子类中实现。只有声明为abstract的类可以声 明抽象方法。
规则: 1.抽象类不能被实例化,只能被继承。 2.抽象方法必须被子类方法重写。
//创建一个抽象类,只要在class前面加上abstract就是抽象类了
//抽象类不能够被实例化,就是创建对象
//只要类里面有一个抽象方法,那么这个类就必须是抽象类,类前面必须加上abstract
abstract class Computer {
public $_name = '联想';
//在抽象类里创建一个抽象方法
//抽象方法不能够实现方法体的内容
abstract public function _run();
//我在抽象类里能否创建一个普通方法
public function _run2() {
echo '我是父类的普通方法';
}
}
//类不能够实现多继承,只支持单继承。
//抽象类是给子类用来继承的,实现一种规范和资源的共享
class NoteComputer extends Computer {
//抽象类里的抽象方法,子类必须重写,不然会报错。
//抽象类里的普通方法不需要重写,子类会直接继承下来
public function _run() {
echo '我是子类的方法!';
}
}
$notecomputer = new NoteComputer();
$notecomputer->_run2(); //我是父类的普通方法
echo $notecomputer->_name; //联想
?>