C#中的多态性概念具体是什么-创新互联

C#中的多态性概念具体是什么,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

创新互联从2013年成立,是专业互联网技术服务公司,拥有项目成都网站建设、网站建设网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元阳高做网站,已为上家服务,为阳高各地企业和个人服务,联系电话:18980820575

相信大家都对面向对象的三个特征封装、继承、多态很熟悉,每个人都能说上一两句,但是大多数都仅仅是知道这些是什么,不知道CLR内部是如何实现的,所以本篇文章主要说说多态性中的一些概念已经内部实现的机理。

多态的概念

首先解释下什么叫多态:同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果,这就是多态性。换句话说,实际上就是同一个类型的实例调用"相同"的方法,产生的结果是不同的。这里的"相同"打上双引号是因为这里的相同的方法仅仅是看上去相同的方法,实际上它们调用的方法是不同的。

说到多态,我们不能免俗的提到下面几个概念:重载、重写、虚方法、抽象方法以及隐藏方法。下面就来一一介绍他们的概念。

1、重载(overload):在同一个作用域(一般指一个类)的两个或多个方法函数名相同,参数列表不同的方法叫做重载,它们有三个特点(俗称两必须一可以):

方法名必须相同

参数列表必须不相同

返回值类型可以不相同

例如:

publicvoidSleep()

{

Console.WriteLine("Animal睡觉");

}

publicintSleep(inttime)

{

Console.WriteLine("Animal{0}点睡觉",time);

returntime;

}

2、重写(override):子类中为满足自己的需要来重复定义某个方法的不同实现,需要用override关键字,被重写的方法必须是虚方法,用的是virtual关键字。它的特点是(三个相同):

相同的方法名

相同的参数列表

相同的返回值

3、虚方法:即为基类中定义的允许在派生类中重写的方法,使用virtual关键字定义。如:

publicvirtualvoidEatFood()

{

Console.WriteLine("Animal吃东西");

}

注意:虚方法也可以被直接调用。

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注创新互联行业资讯频道,感谢您对创新互联网站建设公司,的支持。


本文标题:C#中的多态性概念具体是什么-创新互联
分享链接:http://pwwzsj.com/article/hedpp.html