【发布时间】:2016-08-13 19:54:50
【问题描述】:
鉴于以下情况:
interface SomeInterface {
public function foo();
public function bar();
}
abstract class BaseClass implements SomeInterface {
public function baz() {
echo 'baz'; // Shared logic
}
}
class ConcreteClass extends BaseClass {
public function foo() {
// foo logic...
}
public function bar() {
// bar logic...
}
{
这是按原样工作的,但是,我想知道是否应该像这样在BaseClass 中添加接口方法作为抽象方法:
abstract class BaseClass implements SomeInterface {
abstract public function foo();
abstract public function bar();
public function baz() {
echo 'baz'; // Shared logic
}
}
在这种情况下,最佳做法是什么?
【问题讨论】:
-
不需要抽象声明,因为任何扩展类都需要实现接口的方法。
标签: php class oop interface abstract-class