【发布时间】:2014-02-02 14:05:08
【问题描述】:
interface I
class A implements I
class B extends A
class C extends A
class D extends A
class E extends A
我该怎么做才能使只有 D 类不能获得 I 的方法。 我目前正在考虑在没有正文的情况下覆盖 D 中 'I' 的所有方法。
我的想法是正确的还是有更好的方法?
编辑:D 只不想要接口 I 中包含的方法。A 的其余方法都被继承。 A 是基类。界面 I 是订购视频的界面 B、C、E 是具有不同权限的用户,D 是管理员。 管理员不能点视频,所以不需要接口自带的方法。
【问题讨论】:
-
这与继承的含义完全相反。 en.wikipedia.org/wiki/Liskov_substitution_principle你应该重新考虑你的设计。
-
这不清楚。你是说你想让
D继承自A,但没有A的任何方法?这没有任何意义。 -
如果 D 不是 A,为什么 D 从 A 继承?
-
你想用这个设计完成什么?
-
@user3262900 您应该添加评论而不是编辑您的帖子。如果
A实现I和D扩展A但没有实现I,您的设计仍然会被破坏。查看之前链接的 LSP。
标签: java inheritance interface