`
wsql
  • 浏览: 11775889 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

C#多态性-什么是多态

 
阅读更多

下面举一个生活的例子来理解多态。如果要求3种人——孩子,运动员,音乐演奏者都执行一个动作“play”,会发生什么情况呢?

孩子会出去玩耍。
运动员会比赛。
演员开始演奏。

对于同一个命令,不同的人会有不同的反应,执行不同的动作,这就是生活中一个多态。在程序设计中,对于同一个方法,由于执行的对象不同,方法的内容也就不同。执行的结果也是不相同的。

同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果,这就是多态性。

多态性通过派生类覆写基类中的虚函数型方法来实现。

多态性分为两种,一种是编译时的多态性,一种是运行时的多态性。

编译时的多态性:编译时的多态性是通过重载来实现的。对于非虚的成员来说,系统在编译时,根据传递的参数、返回的类型等信息决定实现何种操作。

运行时的多态性:运行时的多态性就是指直到系统运行时,才根据实际情况决定实现何种操作。C#中运行时的多态性是通过覆写虚成员实现。

我们来分别说明一下多态中涉及到的四个概念:重载,覆写,虚方法和抽象方法

分享到:
评论

相关推荐

    C#多态性的介绍

    C#多态性

    C#中多态性的实现

    多态是指一个行为具有多个不同表现形式的能力,在C#中通过多态性的检测时机可以分为静态多态性和动态多态性 静态多态性:函数重载和运算符重载 动态多态性:抽象方法、重写方法、隐藏方法 二:函数重载(overlode) ...

    深入解析C#的多态性

    帮助你理解C#的多态性

    C#员工工资管理(继承+多态).zip

    通过继承和多态实现各类员工薪水计算

    C#重写重载与多态

    重写:是指重写基类的方法,在基类中的方法必须有修饰符virtual,而在...多态:c#的多态性主要体现在类的继承上:子类继承父类的时候,可能出现同名但方法定义不同的情况, 所以在子类中会将原方法覆盖,实现自身的要求

    关于多态性的经典例子

    学习C#多态性!多态性是C#学习的一个难点和重点,要下功夫学习

    C#多态.doc

    一、什么是多态 可以把一组对象放到一个数组中,然后调用它们的方法,在这种场合下,多态性作用就体现出来了,这些对象不必是相同类型的对象。当然,如果它们都继承自某个类,你可以把这些派生类,都放到一个数组中...

    C#多态性实验报告详细讲解

    老师发的文本资料 个人觉得挺有用的 C#多态性实验报告详细讲解

    C#用趣图理解多态(用最通俗的方法讲解).

    C#用趣图理解多态(用最通俗的方法讲解). 适合初学者入门多台

    C#多态性.doc_入门教程

    C#多态性 通过继承,一个类可以用作多种类型:可以用作它自己的类型、任何基类型,或者在实现接口时用作任何接口类型。这称为多态性。C# 中的每种类型都是多态的。类型可用作它们自己的类型或用作 Object 实例,因为...

    深入浅析c#静态多态性与动态多态性

    多态就是多种形态,也就是对不同对象发送同一个消息,不同对象会做出不同的响应。这篇文章主要介绍了c#静态多态性与动态多态性的相关知识,需要的朋友可以参考下

    深入剖析C#的多态××××××

    面向对象程序设计中的另外一个重要概念是多态性。在运行时,可以通过指向基类的指针,来调用实现派生类中的方法。可以把一组对象放到一个数组中,然后调用它们的方法,在这种场合下,多态性作用就体现出来了,这些...

    C#中多态现象和多态的实现方法

    Polymorphism(多态性)来源于希腊单词,指“多种形态”。多态性的一个重要特征是方法的调用是在运行时确定而不是编译时。在.NET中用于实现多态性的关键词有virtual、override、abstract、interface。 一、virtual...

    C#多态性实例,向基类构造函数传递参数

    内容索引:C#源码,综合实战,多态性 C#多态性实例,向基类构造函数传递参数,可以先看看www.okbase.net截图,求一个长宽高可以动态变化的长方体,并计算出它的体积,实际上没有那么复杂。通过这个实例你会对多态性有...

    c#中类的多态性的例子

    描述虚函数与飞虚函数的区别,以及多态的使用

    C#类的多态性详解

    第一种:编译时的多态性,直接这样说不知道说啥?程序执行过程主要分为三步:编译,链接,运行。...C#运行时的多态性通过虚方法实现。在类方法声明加上了virtual修饰符,称为虚方法,反之为非虚方法

    深入理解c#多态

     多态性可以是静态的或动态的。在静态多态性中,函数的响应是在编译时发生的。在动态多态性中,函数的响应是在运行时发生的  静态多态性  在静态多态性中,函数的响应是在编译时发生的  父类中如果有方法需要...

    C#中面向对象编程机制之多态学习笔记

    C#的多态性: 我的理解是:同一个操作,作用于不同的对象时,会有不同的结果,即同一个方法根据需要,作用于不同的对象时,会有不同的实现。 C#的多态包括:接口多态,继承多态。 其中继承多态又包括通过虚拟方法...

    CSharp-Polymorphism-Demo:C#中多态概念的插图

    C#-多态-演示该代码代表了我在C#中对多态性概念的说明。等级制如类图文件Zoo.cd所示Animal.cs(基类) | | | | ---- Lion.cs(儿童班) | | ---- Monkey.cs(儿童班) | | ---- Zebra.cs(子类)

Global site tag (gtag.js) - Google Analytics