0
A
回答
0
听起来像你正在寻找实现继承而不是接口继承。有关说明,请参阅this thread,如果仍不清楚原因,请在下面注明。
鉴于您只想重用所选属性的子集,您最好使用组合而不是继承。
注意
它不能是接口继承(子类型),因为,仅“继承”属性的子集,一个子类的实例不会是可替代的超类的实例。例如:假设超类暴露了子类未继承的属性A
。在运行时,声明为超类类型的变量v
被绑定到子类的实例。然后表达式引用v.A
。完全合理的要求 - 但显然会失败。换句话说,你打破了界面合同。 Google'Liskov替代原则'获取更多信息。
0
这是可能的。当超类定义一个属性时,任何子类都可以重新定义该属性以使其具有[0..0]多重性。因此,子类只能继承它需要的东西。 但是,正如@sfinnie提到的,这打破了Liskov Substitution,所以你最好知道你在做什么!
的UML 2.5规范的草案,我有方便的说:
一个MultiplicityElement可以定义多种无论其边界是零。这将允许的基数限制为0;也就是说,它要求这个元素的实例化不包含任何值。 [...]它适用于(但不限于)重新定义更一般的分类器中存在的属性。
相关问题
- 1. 继承属性
- 2. Python类 - 属性继承
- 3. 继承类属性(python)
- 4. Python类属性继承
- 5. 继承属性没有继承
- 6. Rails - Citier - 两级继承,子类不继承中间类属性
- 7. 更改继承属性的类型(到继承类型)
- 8. 为继承属性
- 9. 改变继承类的属性类型
- 10. 从基类继承Grails域类属性
- 11. 继承css属性
- 12. 继承CSS属性
- 13. 如何使用继承来继承多个类的属性?
- 14. 类,隐藏属性和继承
- 15. 如何获取属性的继承类
- 16. 继承的类不具有属性?
- 17. C#继承父类的属性
- 18. Python类属性不会继承
- 19. Python类继承,缺少属性
- 20. 在案例分类中继承属性
- 21. 继承和聚合类属性
- 22. Django的继承和子类属性
- 23. getStaticProperties返回继承的类属性
- 24. 在添加属性时继承python类
- 25. 基类和继承的静态属性
- 26. 是否继承了vb.net类的属性?
- 27. 隐藏类/接口的继承属性?
- 28. CSS继承不父类的属性
- 29. 从接口继承属性到类
- 30. PHP:从继承类改变属性
提及编程语言和仅继承选定属性的目的将会有所帮助。 – bancer 2010-11-14 23:29:09