有什么从具体类继承的好例子吗?
Closed. This question needs to be more focused. It is not currently accepting answers. 想要改进这个问题吗?通过编辑这篇文章来更新问题,使其…
Java异常层次结构背后的基本原理
我发现 Java 的异常层次结构令人困惑。 Throwable分为Error和Exception,其中RuntimeException继承自Exception。 Error 是未经检查的异常。那么为什么…
等级制度违反了里氏法则——那又怎样?
我使用的 API 违反了里氏替换原则:它抛出自己的 Exception 类型,该类型扩展了 Exception,但将来自基类的异常消息放入新的 ErrorCode 字段中,并将…
抽象属性是否违反里氏替换原则?
假设我有一个抽象类,例如: public abstract class Pet { private final String name; public Pet(String name) { this.name = name }; public abstr…
为什么数组要实现IList?
查看 System.Array 类的定义 public abstract class Array : IList, ... 理论上,我应该能够编写这一点并且很高兴 int[] list = new int[] {}; IList …
我的讲师对里氏替换原理的定义是否不正确,或者我是否误解了?
由于(里氏)替换原则,以下内容确实有效,该原则表示,如果需要某个类的实例的引用,那么您可以替换对该类的任何子类的实例的引用。 public static v…
关于LSP(里氏替换原理)和子类型的问题
LSP 说 如果 q(x) 是关于类型 T 的对象 x 的可证明属性,则 q(y) 对于类型 S 的对象 y 应该为真,其中 S 是 T 的子类型。 我可以将其改写如下: q(x) …
聚合类扩展基类 - 违反 LSP?
维基百科上的里氏替换原理 (LSP) 假设我有一个外星人具有 numFingers 属性*的类。有时,我需要从数据库中提取 numFingers 的总和,并按其他字段值进行…
您能用一个很好的 C# 示例来解释里氏替换原理吗?
Closed. This question needs to be more focused. It is not currently accepting answers. 想要改进这个问题?通过编辑这篇文章来更新问题,使其仅…
ReadOnlyCollection 类是糟糕设计的一个很好的例子吗?
Closed. This question is opinion-based. It is not currently accepting answers. 想要改进这个问题?更新问题,以便可以通过编辑这篇文章用事实和…