zoukankan      html  css  js  c++  java
  • 多态练习


    更改前超复杂


    static void Main(string[] args)
    {
    //真的鸭子嘎嘎叫 木头鸭子吱吱叫 橡皮鸭子唧唧叫

    RealDuck rd = new RealDuck();
    rd.Bark();
    MuDuck md = new MuDuck();
    md.Bark();
    XpDuck xp = new XpDuck();
    xp.Bark();
    Console.ReadKey();

    }

    }

    public class RealDuck
    {
    public void Bark()
    {
    Console.WriteLine("真的鸭子嘎嘎叫");
    }

    }

    public class MuDuck
    {
    public void Bark()
    {
    Console.WriteLine("木头鸭子吱吱叫");

    }
    }

    public class XpDuck
    {
    public void Bark()
    {

    Console.WriteLine("橡皮鸭子唧唧叫");
    }

    }


     运用多态实现:

    static void Main(string[] args)
    {
    //真的鸭子嘎嘎叫 木头鸭子吱吱叫 橡皮鸭子唧唧叫

    RealDuck rd = new RealDuck();
    MuDuck md = new MuDuck();
    XpDuck xp = new XpDuck();
    RealDuck[] ducks = {rd,md,xp };
    for (int i = 0; i < ducks.Length; i++)
    {
    ducks[i].Bark();
    }
    Console.ReadKey();


    }

    }

    public class RealDuck
    {
    public virtual void Bark()
    {
    Console.WriteLine("真的鸭子嘎嘎叫");
    }

    }

    public class MuDuck:RealDuck
    {
    public override void Bark()
    {
    Console.WriteLine("木头鸭子吱吱叫");

    }
    }

    public class XpDuck:RealDuck
    {
    public override void Bark()
    {

    Console.WriteLine("橡皮鸭子唧唧叫");
    }

    }

  • 相关阅读:
    体验cygwin纪实
    播布客视频PIT专用播放器MBOO2015
    rpm基本命令参考
    rhel7.x配置本地yum
    mtr网络连通性测试
    Oracle下载汇聚
    Spring Cloud心跳监测
    Hystrix的用法
    Redis系列十:缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级
    dubbo异步调用三种方式
  • 原文地址:https://www.cnblogs.com/swlq/p/5397176.html
Copyright © 2011-2022 走看看