C#的多态

有一个飞的基类:
class FlyBase
{
    //有个飞的方法
    public virtual void Fly()
     {
         console.write("我只是告诉你我能飞,但我不告诉你怎么飞,实现我,加上你飞的方法你就能飞");
     }
}
鸟类:
class Bird:FlyBase
{
    public override void Fly()
       {
          console.write("拍拍翅膀就能飞")
       }
}
超人类:
class SuperMan:FlyBase
{
     public override void Fly()
       {
         console.write("握紧拳头,一跳就可以飞")
        }
}

一天 ,鸟儿跟超人在天上相遇了 ,它对超人说   我跟你都能飞,但飞的技能不一样,对于FlyBase来说   我们是一体的都能飞;所以可以把我们都叫做FlyBase

FlyBase bird =new Bird();鸟儿
FlyBase superMan= new SuperMan();超人
鸟儿说: 我飞是用我的技能才可以  所以  bird.Fly() 要调用Bird类的Fly方法
超人说: 我飞也要用我的方法才可以  所以  superMan.Fly() 调用的是SuperMan的Fly方法.
这就是多态  都可以转化为基类对象搜索  但调用的却是子类的方法 注意基类方法用virtual修饰
 
要点:1、要有继承
      2、子类要重写父类方法
      3、父类引用指向子类对象
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值