[英]Should I create abstract methods when my abstract class implements an interface?
鉴于以下情况:
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
}
}
在这种情况下,最佳实践是什么?
我想知道是否应该在 BaseClass 中添加接口方法作为抽象方法
不,没有必要这样做,除非您想在抽象类中有具体的实现,否则这样做没有任何好处。 无论如何,扩展抽象类的类必须提供实现以满足接口。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.