C#中,如何选择使用虚方法还是抽象方法
2012-02-23 11:22
369 查看
在由基类派生出的子类中,必须有基类的方法(行为),而且有不同的方法实现。
这种情况下应用抽象方法。抽象方法没有方法体的实现.虚方法有方法体的实现。
在由基类派生出的子类中,存在于基类相同的方法,但可能有不同的方法实现。
这种情况用虚方法。
---
语言表述的能力太差,举个例子:
(基类)父亲会驾驶汽车(行为),
当所有的子类都具有驾驶汽车的行为时,且子类驾驶的汽车类型不同。
这时应用抽象类。
当父类驾驶的汽车类型为小汽车,子类1驾驶的汽车类型为卡车,子类2驾驶的汽车类型为小汽车时。
应用虚方法。
这种情况下应用抽象方法。抽象方法没有方法体的实现.虚方法有方法体的实现。
在由基类派生出的子类中,存在于基类相同的方法,但可能有不同的方法实现。
这种情况用虚方法。
---
语言表述的能力太差,举个例子:
(基类)父亲会驾驶汽车(行为),
当所有的子类都具有驾驶汽车的行为时,且子类驾驶的汽车类型不同。
这时应用抽象类。
当父类驾驶的汽车类型为小汽车,子类1驾驶的汽车类型为卡车,子类2驾驶的汽车类型为小汽车时。
应用虚方法。
相关文章推荐
- 如何使用VISIO中的UML图来表达C++语言中抽象类或抽象方法
- 如何选择使用C#中的集合
- 什么时候使用接口?什么时候使用抽象?选择Java接口还是抽象类 (转)
- C#中如何选择使用T[]或List<T>
- 如何在C#中使用HttpServerUtility.MapPath()方法
- 你最喜欢的图片替换方法是什么,你如何选择使用?
- C# 使用多线程如何传递两个以上参数的实现方法(附示例) 推荐
- 关于如何在Python中使用静态、类或抽象方法的权威指南
- 如何在IronPython中使用C#扩展方法
- 如何:使用 Split 方法分析字符串(C# 编程指南)
- 你最喜欢的图片替换方法是什么,你如何选择使用?
- 什么时候使用接口?什么时候使用抽象?选择Java接口还是抽象类
- 什么时候使用接口?什么时候使用抽象?选择Java接口还是抽象类 (转)
- C#使用FolderBrowserDialog类实现选择打开文件夹方法详解
- 抓包工具Fiddler的使用教程(十一):如何知道HTTP请求是POST方法还是GET方法
- 你最喜欢的图片替换方法是什么,你如何选择使用?
- 关于Python中如何使用静态、类、抽象方法的权威指南
- MyEclipse下如何安装和使用ibatis插件(网上的资料对于myeclipse8.5根本就是没有用的,所以我还是自己选择了装了一个eclipse,然后将插件装在了eclipse中)
- Backbone中的model和collection在做save或者create操作时, 如何选择用POST还是PUT方法 ?
- 如何解决FormView中实现DropDownList连动选择时出现 "Eval()、XPath() 和 Bind() 这类数据绑定方法只能在数据绑定控件的上下文中使用" 的错误