liskov-substitution-principle

liskov-substitution-principle

文章 0 浏览 5

里氏替换原理和原语句的方向性

今晚我在 Ward 的 wiki 上看到了里氏替换原理的原始表述: 这里想要的是类似下面的替换属性:如果对于每个 S 类型的对象 o1 都有一个 T 类型的对象 o2…

镜花水月 2024-09-17 10:12:59 11 0

需要 .Net SOLID 设计方面的帮助

我第一次尝试坚持罗伯特·马丁的 SOLID 设计原则,但我并不擅长。 本质上,我需要一个“Node”对象的层次结构。有些节点是 NodeHosts,有些是 NodeChil…

哽咽笑 2024-09-14 17:35:31 8 0

使用虚方法是否违反LSP(SOLID原则的L部分)或者有一些例外?

Closed. This question needs to be more focused. It is not currently accepting answers. 想要改进这个问题?通过编辑这篇文章来更新问题,使其仅…

他不在意 2024-09-10 18:10:30 10 0

类型-子类型关系。似乎有些不清楚

我正在阅读面向对象编程语言课程的一些幻灯片,并深入了解类型子类型定义: Barbara Liskov,“数据抽象和层次结构”,SIGPLAN 通知, 23,5(1988 年 …

活泼老夫 2024-08-21 13:59:16 8 0

里氏替换原则是否适用于从抽象类继承的子类型?

宽松地说,里氏替换原则指出派生类可以替换基类而不影响用户。 如果基类是抽象类,这意味着没有用户使用基类的实例,Liskov 继承限制是否仍然适用于派…

迷你仙 2024-08-21 02:08:54 13 0

里氏替换原则 - 没有重写/虚拟方法?

我对里氏替换原则的理解是,基类的某些属性是正确的,或者基类的某些实现的行为对于派生类也应该是正确的。 我想这意味着当在基类中定义方法时,永远…

ㄟ。诗瑗 2024-08-12 01:14:52 11 0

复合图案是否坚固?

复合模式中的 Leaf 实现了 Component 接口,包括 Leaf 永远不会使用的 Add、Remove 和 GetChild 方法。这似乎违反了接口隔离原则。 复合模式的用法也…

感性不性感 2024-08-08 05:08:29 9 0

C#.NET 中 liskov 原理的类型参数约束

我尝试创建一个继承 System.ICloneable 接口的通用接口,但 Clone() 方法的返回类型是 T。当然,T 类型需要约束以确保它是 System.Object 类的继承,…

坏尐絯 2024-07-26 14:40:03 8 0

为什么我不能使用 AddRange 添加子类项?

我有两个类...Parcel 和 FundParcel...我正在尝试将子类型的 IEnumerable 转换为超类型的 IList... public class FundParcel : Parcel { /* propertie…

甜心小果奶 2024-07-26 03:35:04 9 0

从矩形导出正方形是否违反里氏替换原理?

Closed. This question is opinion-based. It is not currently accepting answers. 想要改进这个问题?更新问题,以便可以通过编辑这篇文章用事实和…

眼泪淡了忧伤 2024-07-25 03:47:54 8 0

里氏替换和复合

假设我有一个这样的类: public sealed class Foo { public void Bar { // Do Bar Stuff } } 我想扩展它以添加超出扩展方法可以做的事情...我唯一的选…

得不到的就毁灭 2024-07-13 08:01:05 15 0

C# 接口实现关系只是“Can-Do”关系 关系?

今天有人告诉我,C# 中的接口实现只是“Can-Do”关系,而不是“Is-A”关系。 这与我长期以来所相信的LSP(里氏替换原理)相冲突。 我一直认为所有的继…

上课铃就是安魂曲 2024-07-08 22:15:59 11 0

里氏替换原理的例子是什么?

我听说里氏替换原则(LSP)是面向对象设计的基本原则。 它是什么?它的使用示例有哪些?…

梦罢 2024-07-05 04:54:38 15 0
更多

推荐作者

胡图图

文章 0 评论 0

zt006

文章 0 评论 0

z祗昰~

文章 0 评论 0

冰葑

文章 0 评论 0

野の

文章 0 评论 0

天空

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文