部分类优于继承的优点是什么?

Dav*_*ica 3 c# wsdl partial-classes partial generated-code

C#具有部分类的概念.我见过的一个例子就是WSDLs.Visual Studio可以联系服务器以查找服务,并根据它自动生成部分类.然后,Visual Studios将为您提供一个空白的部分类来匹配它,以便您可以添加自己的代码.

我觉得这种做法相当令人困惑.部分类优于继承是否有任何优势?

das*_*ght 6

部分类用于解决特定问题 - 解决分离生成和手动编程代码的问题.如果没有部分类,程序员就需要避免修改生成的类,或者依赖设计模式来实现分离.

一个非常重要的一点是,部分类的生成部分具有实现.这使它们与不包含实现的接口区分开来.

从某种意义上说,这使它们类似于抽象类,而不是将它们抽象化.您可以在不对其进行子类化的情况下扩展和更改功能.


Ekk*_*Ekk 2

部分类:
您可以在同一项目的多个文件中定义一个类。您最终可能会创建一个包含方法的文件,另一个包含属性的文件,等等。在编译时,它将与您创建一个包含所有内容的大文件相同。

阅读有关部分类和方法的更多信息

继承:
您可以在同一项目或另一个项目中扩展现有类的功能。通过继承,您可以在新类上扩展现有类的功能、特性等。