C# 之多态性1

重载-类中定义的方法可能有不同的版本

public bool Withdraw(double amt,string name)

public bool Withdraw(double amt)

特点(两必须一可以)

方法名必须相同
参数类标必须不相同
返回值类型可以不相同


虚拟函数
声明虚方法
  使用virtual关键字pubilc virtual bool Withdraw(...);
  调用虚方法,运行是将确定调用对象是什么类的实例,并调用适当的覆写 的方法
 虚方法可以有实现体


覆写(Override)
子类中为满足自己的需要来重复定义某个方法的不同实--覆写
通过使用关键字override来覆写
public orerride bool Withdraw(...);
只有虚方法和抽象方法才能被覆写
要求:(三相同)
相同的方法名称
相同的参数列表
相同的返回值类型

区别
Items              Override                               Overload
位置                存在于继承关系的类中       存在于同一类中
方法名            相同                                         相同
参数列表        相同                                      必须不同
返回值            相同                                      可以不相同


抽象方法(方法的原始定义)
 抽象方法是必须被派生类覆写的方法
抽象方法是可以看成没有实现体的虚方法
如果类中包含抽象方法,那么类就必须定义为抽象类,不论是否还包含其他一般方法
public abstract bool Withdraw(...);

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值