第四天 多态的实现方式.Net/ASP开发工程师

/ 集美大学软件学院.Net/ASP开发工程师 / 2016-07-12

多态,C#


多态,简单点说就是同一函数可以根据对象的不同可以调用多种不同的方法,而它的实现方式可以有很多种,这里说说用1.虚方法virtual和2.抽象类abstract来实现多态。


1.code:

多态,C#


父类的方法Shout用了virtual声明了一个虚方法,表示子类可以用override进行重写,若子类没有进行重写,则函数在调用时就直接使用父类中的方法。根据图里的代码来看,同一个Shout函数,若在申请对象时有Dog和Cat对象的不同,那么在调用Shout的函数时,则会被Dog和Cat类中的Shout重写,然后就会输出不同的内容,dog对象输出Bark~则Cat对象输出Mew~。



2.code

多态,C#


父类在声明时添加了一个abstract修饰符,表示该类是抽象类,类中的方法也写上了abstract,但是不同于虚方法中的Shout,这里的Shout没有声明主体,没有任何实现,因为这是抽象类规定的的。子类继承之后必须写上override表示重写,除非子类也是一个抽象类,抽象成员也必须包含在abstract中,一般的类不能有abstract成员。另外需要注意的是抽象类是无法被实例化的,因为抽象类存在的目的就是被继承实现多态。


以上就用了两种不同的方式实现了多态,同样的是Shout的函数,不同的对象Dog和Cat在调用时会有不同的Shout内容输出。


多态,C#


公众号,微信

汇鱼网海峡创乐汇
汇鱼网海峡创乐汇