首页 > 其他分享 >多态之虚方法

多态之虚方法

时间:2023-02-08 22:24:18浏览次数:32  
标签:zhenDuck void 多态 Console class override 之虚 方法 public

使用virtual标记父类为虚方法,使用override重写子类

using System;

namespace 多态
{
    class Program
    {
        static void Main(string[] args)
        {
            zhenDuck z = new zhenDuck();
            muDuck m = new muDuck();
            xpDuck x = new xpDuck();

            //把三种叫法,放到字符串数组中
            zhenDuck[] ducks = {z,m,x };
            for (int i = 0; i < ducks.Length; i++)
            {
                ducks[i].Duck();
            }
            Console.ReadKey();
        }
        
        public class zhenDuck//构造函数,初始化对象依次赋值用
        {
            public virtual void Duck()//使用virtual标记父类为虚方法
            {
                Console.WriteLine("真鸭子嘎嘎叫");
            }
        }

        public class muDuck : zhenDuck
        {
            public override void Duck()//使用override重写子类
            {
                Console.WriteLine("木鸭子吱吱叫");
            }
        }

        public class xpDuck : zhenDuck
        {
            public override void Duck()
            {
                Console.WriteLine("橡皮鸭子唧唧叫");
            }
        }

    }

}

 

标签:zhenDuck,void,多态,Console,class,override,之虚,方法,public
From: https://www.cnblogs.com/chungeblog/p/17103536.html

相关文章

  • 关于C++多态的学习
    父类virtualtypefuncname(arg);子类typefuncname(arg);typefuncnamearg完全一致就算子类重写了。覆盖了基类的func。还可以子类直接写个override example: typef......
  • ESXi规避ESXiArgs勒索软件的简单方法
    摘要今天查看深信服科技的公众号发现有一个ESXiArgs的勒索软件.感觉对公司存在一定的风险.但是感觉操作手册有点简单.这里想着写全面一点.作为操作手册使用.并且深......
  • Mybatis-Plus 之BaseMapper 方法详解
    packagecom.itheima.dao;importcom.baomidou.mybatisplus.core.conditions.Wrapper;importcom.baomidou.mybatisplus.core.metadata.IPage;importcom.baomidou.my......
  • Linux vim编辑器使用方法汇总
    打开文件vim /etc/passwdvim + :打开文件时光标处于文件尾部vim +数字:打开文件时,光标定位与第几行 移动光标(编辑模式):字符移动h:向左移动l:向右移动j:向下移动k:向上......
  • C# 两种方法实现HTTP协议迷你服务器
       本文以两种稍微有差别的方式用C#语言实现HTTP协议的服务器类,之所以写这些,也是为了自己能更深刻了解HTTP底层运作。   要完成高性能的Web服务功能,通常都是需......
  • 代码优化(简写方法)
    1.多表达式多if判断我们可以在数组中存储多个值,并且可以使用数组include方法。//长if(x==='abc'||x==='def'||x==='ghi'||x==='jkl'){//logic}//......
  • 感知机:学习算法之原始形式【统计学习方法】
    概述学习问题训练数据集:$$T={(x_1,y_1),(x_2,y_2),\cdots,(x_N,y_N)}$$其中,$x_i\in\mathcalX\subseteq\boldsymbolR^n,y_i\in\mathcalY={+1,-1}$损失函数:$$L(w,b)=\su......
  • 数组的常用方法 js 230208
    判断是否是数组头部操作头部添加头部删除尾部操作未位添加push未位删除pop排序sort方法,接收一个参数,完成排序reverse方法,反转查找indexOflastIndexOf转字符串数组拼字符串字......
  • 记录一种我第一次见的“局部变量”外部赋值方法
    比如在libgo中的函数Processer*&Processer::GetCurrentProcesser(){staticthread_localProcesser*proc=nullptr;returnproc;}然后给proc赋值可以......
  • C# Winform MessageBox使用方法及案例
    我们在程序中经常会用到MessageBox。  MessageBox.Show()共有21中重载方法。现将其常见用法总结如下:   1.MessageBox.Show("Hello~~~~");最简单的,只显示提示信息......