扩展一个扩展另一个抽象类的抽象类,需要覆盖父抽象类实现的接口

时间:2012-08-15 08:38:50

标签: php inheritance interface

我有一个名为Post的实体类。 Post的父级基于一个名为AbstractPost的抽象类。 AbstractPost有一个变量“author”,其setter的签名是在一个名为PostInterface的接口中定义的。

我处于一种场合,我需要覆盖作者的二传手,但不想修改父母(当然)。

这些是父类:

class Post extends AbstractPost
abstract class AbstractPost implements PostInterface
interface PostInterface

我有以下课程:

class MyPost extends MyAbstractPost
abstract class MyAbstractPost extends AbstractPost implements MyPostInterface
interface MyPostInterface extends PostInterface

然而,我收到错误:

  

致命错误:必须声明MyAbstractPost :: setAuthor()   与PostInterface :: setAuthor()

兼容

我读过孩子们继承了父类的“实现”部分(这里的正确术语是什么?),所以我想知道我想知道如何覆盖它。或者我没有以正确的方式扩展/实施?

谢谢!

1 个答案:

答案 0 :(得分:0)

答案是否定的。

重载方法签名会破坏拥有接口的目的。