C#多态性-什么是多态

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

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

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

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

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

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

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

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

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

发布了932 篇原创文章 · 获赞 391 · 访问量 330万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 鲸 设计师: meimeiellie

分享到微信朋友圈

×

扫一扫,手机浏览