C#多态性-什么是多态
2012-06-27 09:21
218 查看
下面举一个生活的例子来理解多态。如果要求3种人——孩子,运动员,音乐演奏者都执行一个动作“play”,会发生什么情况呢?
孩子会出去玩耍。
运动员会比赛。
演员开始演奏。
对于同一个命令,不同的人会有不同的反应,执行不同的动作,这就是生活中一个多态。在程序设计中,对于同一个方法,由于执行的对象不同,方法的内容也就不同。执行的结果也是不相同的。
同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果,这就是多态性。
多态性通过派生类覆写基类中的虚函数型方法来实现。
多态性分为两种,一种是编译时的多态性,一种是运行时的多态性。
编译时的多态性:编译时的多态性是通过重载来实现的。对于非虚的成员来说,系统在编译时,根据传递的参数、返回的类型等信息决定实现何种操作。
运行时的多态性:运行时的多态性就是指直到系统运行时,才根据实际情况决定实现何种操作。C#中运行时的多态性是通过覆写虚成员实现。
我们来分别说明一下多态中涉及到的四个概念:重载,覆写,虚方法和抽象方法。
孩子会出去玩耍。
运动员会比赛。
演员开始演奏。
对于同一个命令,不同的人会有不同的反应,执行不同的动作,这就是生活中一个多态。在程序设计中,对于同一个方法,由于执行的对象不同,方法的内容也就不同。执行的结果也是不相同的。
同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果,这就是多态性。
多态性通过派生类覆写基类中的虚函数型方法来实现。
多态性分为两种,一种是编译时的多态性,一种是运行时的多态性。
编译时的多态性:编译时的多态性是通过重载来实现的。对于非虚的成员来说,系统在编译时,根据传递的参数、返回的类型等信息决定实现何种操作。
运行时的多态性:运行时的多态性就是指直到系统运行时,才根据实际情况决定实现何种操作。C#中运行时的多态性是通过覆写虚成员实现。
我们来分别说明一下多态中涉及到的四个概念:重载,覆写,虚方法和抽象方法。
相关文章推荐
- C#语言使用多态(接口与override) ——帮您剔除对面向对象多态性的疑惑
- C++总是能让我想起什么(9)——C++与C#的多态
- C#多态性-什么是多态
- c# 多态中 Virtual与override的作用
- C#中的多态性
- Interview Q&A - 什么是多态?
- C#的多态性
- C++ C# VC VC.net以及VC++有什么区别和联系?
- 一个C#类多态与隐藏(new)方法的结果分析
- 编写高质量代码改善C#程序的157个建议——建议104:用多态代替条件语句
- c#继承与多态使用示例
- C# -- 什么是方法签名?
- [转] c#中的unchecked是什么意思,起什么作用?
- c#多态之抽象类与接口的一点收获~~
- asp.net是什么?asp.net、vb.net跟c#net有什么区别(转载)
- C# 语言特性系列(2) 多态性 Polymorphism
- c#属性是什么 <转载>
- 什么是多态?为什么用多态?有什么好处?[转]
- C#基础|面向对象之多态
- C#与.NET程序员面试宝典 2.1.6 面试题6:C#中的托管代码是什么