在.net 应用程序设计中如何选择class, abstract class ...

本文面向的读者:.net 应用程序设计师和程序员

关键字:

type� 类型

class - 类

abstract - 抽象的

interface - 接口

member - 成员

method - 方法

property - 属性

预备知识:在阅读本文时,您应当了解.net编程的基本知识并且已经掌握class, abstract class 和 interface全部知识。这里我仅简单介绍一下他们的基本知识。本文的例子由c#编写。期望您对c#编程有一定的了解。

正文:

我们无法创建一个abstract class或interface的实例(instance)。让我们从abstract class和interface的定义来看他们的不同。abstract class可以包含abstract methods 和 abstract properties, 也可以包含其他的members,象正常的class一样。而interface只能包含abstract methods和properties(属性)。interface中的所有methods和properties不需要加abstract和public关键字,因为这两个关键字在interface中是默认的。举例如下:

class则可以提供更好的灵活性。你可以给class添加任何members,只要添加的不是abstract method即可(也就是说你要提供一个有具体实现的方法)。这样就不会影响从该class继承的类,已有代码无需做任何改变。

设计原则

• 优先考虑使用class或abstract class而不是interface。

• 使用abstract class代替interface来降低class继承层次之间的耦合关系。

• 使用interface,如果你需要给一个值类型实现(value type, 象struct就是值类型)多态继承(polymorphic hierarchy)。(值类型除了从interface继承以外,不能从其他type继承)。

• 在需要多重继承的情况下,可以考虑使用interface。

参考目录:microsoft .net development series, framework design guidelines

(责任编辑:徐培炎)


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值