OOP PHP中的抽象类

时间:2018-02-27 12:21:31

标签: php oop abstract-class

我的抽象课中有很奇怪的行为。

这是我的代码:

<?php

class Hello {

    public abstract function sayHello();

}

class Hey extends Hello {

public function sayHello(){
    return "Hello";
}

}


$greeting = new Hey;

echo $greeting->sayHello();

所以,我期待结果:你好

但我无法理解为什么我会关注 错误

  

致命错误:类Hello包含1个抽象方法,因此必须在第7行的/Applications/MAMP/htdocs/oop/abstract.php中声明为abstract或实现其余方法(Hello :: sayHello)

我错过了什么?

1 个答案:

答案 0 :(得分:7)

您缺少将类声明为抽象:

// here, class should be declared as abstract
abstract class Hello {

    public abstract function sayHello();

}

class Hey extends Hello {

    public function sayHello(){
        return "Hello";
    }

}


$greeting = new Hey;

echo $greeting->sayHello();

输出:

hello