C# 之多态性1

来源:互联网 发布:mac版本暴风影音 编辑:程序博客网 时间:2024/06/11 10:42

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

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(...);

 

 

 

原创粉丝点击