C#中的多态性

C# 中的多态性
首先理解一下什么叫多态。同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果,这就是多态性。
多态性通过派生类覆写基类中的虚函数型方法来实现。
 
多态性分为两种,一种是编译时的多态性,一种是运行时的多态性。
编译时的多态性:编译时的多态性是通过重载来实现的。对于非虚的成员来说,系统在编译时,根据传递的参数、返回的类型等信息决定实现何种操作。
运行时的多态性:运行时的多态性就是指直到系统运行时,才根据实际情况决定实现何种操作。 C# 中运行时的多态性是通过覆写虚成员实现。
 
下面我们来分别说明一下多态中涉及到的四个概念:重载,覆写,虚方法和抽象方法。
重载和覆写的区别:
重载
类中定义的方法的不同版本
         public int Calculate(int x, int y)
         public double Calculate(double x, double y)
特点(两必须一可以)
         方法名必须相同
         参数列表必须不相同
         返回值类型可以不相同
覆写
         子类中为满足自己的需要来重复定义某个方法的不同实现。
         通过使用 override 关键字来实现覆写。
         只有虚方法和抽象方法才能被覆写。
         要求(三相同)
                   相同的方法名称
                   相同的参数列表
                   相同的返回值类型
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值