覆盖抽象方法行为

时间:2014-10-30 13:27:28

标签: php class inheritance override abstract

你好可以做这样的事吗?

abstract class A {
    public function doSomething(){
        return 'Hi: ' . $this->changeMe();
    }
    abstract protected function changeMe();
}

class B extends A {
    protected function changeMe() {
        return 'B';
    }
}

class C extends A {
    protected function changeMe() {
        return 'C';
    }
}

对象B上的doSomething应该返回Hi:B,对象C上的doSomething应该返回Hi:C。

0 个答案:

没有答案