【转】编写高质量代码改善C#程序的157个建议——建议102:区分接口和抽象类的应用场合
2021-04-22 23:29
标签:对象 使用 不同 升级 场景 适合 实现 否则 增加 建议102:区分接口和抽象类的应用场合 接口和抽象类有一些显而易见的区别: 这些区别导致两者的应用场景不同: 从某种角度来看,抽象类比接口更具备代码的重用性。子类无须编写代码即可具备一个共性的行为。 采用抽象类的另一个好处是,如果为为基类增加一个方法,则继承该基类的所有子类自然就会具备这个额外的方法,而接口却不能。如果接口增加一个方法,必须修改所有的子类。所以,接口一旦设计出来就应该是不变的。抽象类则可以随着版本的升级增加一些功能。 接口的作用更倾向于说明类型具有某个或者某种功能。接口只负责声明,而抽象基类往往还要负责实现。 接口的职责必须单一,在接口中的方法应该尽可能的简练。 我们应该在实际设计中,充分考虑到类型的应用场合,根据它所要完成的功能,来决定将类型设计成抽象类还是接口。 转自:《编写高质量代码改善C#程序的157个建议》陆敏技 【转】编写高质量代码改善C#程序的157个建议——建议102:区分接口和抽象类的应用场合 标签:对象 使用 不同 升级 场景 适合 实现 否则 增加 原文地址:http://www.cnblogs.com/farmer-y/p/8000117.html
文章标题:【转】编写高质量代码改善C#程序的157个建议——建议102:区分接口和抽象类的应用场合
文章链接:http://soscw.com/index.php/essay/78298.html