标签: oop inheritance subtype
如果B类继承自A类,那么在继承中使用B类时,它总是必须是A的子类型吗?
我在想,当B不是A的子类型时,是否可以使用继承为B提供额外的代码?
答案 0 :(得分:0)
如果类型A继承自B,则意味着两件事:
A
B
接口本质上体现了概念#2而不是#1(因为接口没有静态方法,并且没有可以隐式使用的成员而不必指定它们)。在没有#2的情况下,没有内置的方法来实现#1;没有#2的#1的唯一重要好处是节省打字。
答案 1 :(得分:0)
如果:
class B extends A
根据定义,B的子类型为A。
如果你不想这样,你可以使用PHP的 traits ,这基本上是接口与实现。