Questions tagged «liskov-substitution-principle»


7
为什么数组实现IList?
请参阅System.Array类的定义 public abstract class Array : IList, ... 从理论上讲,我应该能够写点东西并开心 int[] list = new int[] {}; IList iList = (IList)list; 我也应该能够从iList调用任何方法 ilist.Add(1); //exception here 我的问题不是为什么我会得到异常,而是为什么Array实现了IList?


18
从一个具体的类继承的好例子吗?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 2年前关闭。 改善这个问题 背景: 作为Java程序员,我广泛地从接口继承(而不是:实现),有时我设计抽象基类。但是,我从来没有真正感到有必要将具体的(非抽象的)类作为子类(在我这样做的情况下,后来证明了另一种解决方案,例如委托会更好)。 因此,现在我开始感到几乎没有任何情况可以从具体类进行继承。一方面,对于非平凡的类,李斯科夫替换原理(LSP)似乎几乎是无法满足的。还有许多其他问题,这里似乎呼应了类似的意见。 所以我的问题是: 在哪种情况下(如果有)从具体类继承实际上有意义吗?您能否举一个从另一个具体类继承来的类的实际实例,在这种情况下,您认为这是受限制的最佳设计?我对满足LSP的示例(或满足LSP似乎不重要的示例)特别感兴趣。 我主要有Java背景,但是我对任何语言的示例都感兴趣。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.