gpt4 book ai didi

.net - .NET 中的继承没用?

转载 作者:行者123 更新时间:2023-12-03 18:10:54 24 4
gpt4 key购买 nike

我对 .NET 编程很陌生。我知道 .NET 编程是 100% 面向对象的。我在一本关于 ASP.NET 4 的书中读到的一段有趣的段落指出:

Inheritance is less useful than you might expect. In an ordinary application, most classes use containment and other relationships instead of inheritance, because inheritance can complicate life needlessly without delivering many benefits. Dan Appleman, a renowned .NET programmer, once described inheritance as “the coolest feature you’ll almost never use.”



我在这里有点困惑,我需要 .NET 程序员告诉我应该接受什么,应该放弃什么。

编辑

请人们理解我的问题,首先作者并没有按字面意思说“.NET 中的继承是无用的”,这是我用一些词压缩漏洞问题以适合标题的方式。其次,这本书来自 Apress,它的标题是:“Beginning ASP.NET 4 in C# 2010”第 72 页。

最佳答案

我认为在大多数面向对象的学术类(class)中介绍的继承是毫无用处的。您将始终看到动物或形状的层次结构,但大多数实际问题看起来并非如此 .

这两个例子很快就被打破了。看看林奈生物学中的物种分类或this article关于矩形形状,看看我的意思。任何继承层次结构都会在一定数量的级别之后分解,因为叶类离使用基类维护 IS-A 越来越远。

任何模型都代表了对留下什么和排除什么的选择。继承当然适用于某些模型,而对其他模型则不太适用。

继承运作良好的例子是数据结构和接口(interface)。接口(interface)表示方法签名是继承的,省略了实现细节。因此,如果您可以抽象出所有 List 或 Set 或 Map 实现的共同点,那么您就有了一些提供结构但将实现细节留给设计人员的东西。

我会说继承在这些情况下工作得很好。

像大多数笼统的陈述一样,您引用的陈述并非普遍正确。

关于.net - .NET 中的继承没用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4908103/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com