C#中的多态性概念具体是什么,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
为新津县等地区用户提供了全套网页设计制作服务,及新津县网站建设行业解决方案。主营业务为成都做网站、网站建设、新津县网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!
相信大家都对面向对象的三个特征封装、继承、多态很熟悉,每个人都能说上一两句,但是大多数都仅仅是知道这些是什么,不知道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#中的多态性概念具体是什么
网站URL:http://scgulin.cn/article/gdohod.html