首页 > 编程语言 >C# 利用base继承父类的传参方法(全面的例子,包括虚方法和重写方法)

C# 利用base继承父类的传参方法(全面的例子,包括虚方法和重写方法)

时间:2023-04-07 15:35:33浏览次数:34  
标签:传参 Console Name C# void myDog WriteLine 方法 public

 

显而易见,将我这段代码跑一遍就可以理解并会用了

 

 

public interface IAnimal
{
void Move();
}

public class Animal : IAnimal
{
public string Name { get; set; }
public int Age { get; set; }

public Animal(string name, int age)
{
Name = name;
Age = age;
}

public virtual void MakeSound()
{
Console.WriteLine("The animal makes a sound.");
}

public void Eat(string food)
{
Console.WriteLine("{0} is eating {1}.", Name, food);
}

public void Sleep()
{
Console.WriteLine("{0} is sleeping.", Name);
}

public void Move()
{
Console.WriteLine("{0} is moving.", Name);
}
}

public class Dog : Animal
{
public string Breed { get; set; }

public Dog(string name, int age, string breed) : base(name, age)
{
Breed = breed;
}

public override void MakeSound()
{
base.MakeSound();
Console.WriteLine("The dog barks.");
}

public void PrintInfo()
{
Console.WriteLine("Name: {0}", base.Name);
Console.WriteLine("Age: {0}", base.Age);
Console.WriteLine("Breed: {0}", Breed);
}

public void PlayFetch()
{
Console.WriteLine("{0} is playing fetch.", Name);
}
}

public class Program
{
static void Main(string[] args)
{
Dog myDog = new Dog("Buddy", 3, "Golden Retriever");
myDog.MakeSound();
myDog.PrintInfo();
myDog.Eat("dog food");
myDog.Sleep();
myDog.Move();
myDog.PlayFetch();

IAnimal myAnimal = myDog;
myAnimal.Move();
}
}

标签:传参,Console,Name,C#,void,myDog,WriteLine,方法,public
From: https://www.cnblogs.com/CS-ComputerScience/p/17296302.html

相关文章

  • 什么是PCB?什么是PCBA?PCB和PCBA的区别?
    什么是PCB?什么是PCBA?二者有何分别?说到PCB这个话题,大家都知道是电路板的一些相关知识。但提到PCBA,很多人不是很清楚,甚至会和PCB混为一谈。下面我们聊聊PCB与PCBA有何不同之处?什么是PCB?PCB中文名称为印制电路板,又称印刷线路板,是重要的电子部件,是电子元器件的支撑体,是电子元器件电......
  • element Compressor图片压缩且上传-
      上传了压缩后的照片 <template><div><!--<el-upload:class="uploadDisabled"ref="upload":action="action":headers="headers"list-type="picture-card":limit="1":file-......
  • CCNA考试流程、考试费用及考场介绍
    4月15日CCNA+HCIA新一轮班级开班CCNA(CiscoCertifiedNetworkAssociate)思科认证网络工程师 一、CCNA认证考试流程ccna考试认证,先学习CCNA理论知识,然后下载CCNA考试题库,预约考试,参加并通过考试。CCNA证书如下: 二、CCNA认证考试相关内容 考试要求:对学历、专业、年龄没有要求。考......
  • Apache的安装与启动
     ......
  • 2022 CCPC 绵阳站
    2022CCPCMianyangCF传送门简记情况是就柿火红猕猴果队的第一次训练赛!大概做了三个小时,过了CGH,卡在AM。C直接做,G直接模拟,H构造。5题是银or铜。A.BanorPick,What'stheTrick记忆化搜索/动态规划Solution思路注意到,每次pick或ban都应该选择己方or对方分数最......
  • cut 和 awk 用法
    一、cutcut侧重于对内容进行列切割-d后面的是分割符,表示用什么符号来分割符来分割列,分隔符使用引号括起来-f后面跟着要选择的字段列,从1开始,表示第一列,如果要多列,可以用逗号分隔,可以使用start-end表示一个区间,解决使用逗号的烦恼。-c参数后面跟着要选择的字符偏移-b表......
  • SDL_AudioSpec 解析以及使用说明
    前言SDL_AudioSpec是包含音频输出格式的结构体,同时它也包含当音频设备需要更多数据时调用的回调函数。解析头文件说明typedefstructSDL_AudioSpec{intfreq;/**<DSPfrequency--samplespersecond*/SDL_AudioFormatformat;/**<Audiod......
  • StampedLock:JDK1.8中新增,比ReadWriteLock还快的锁
    摘要:StampedLock是一种在读取共享变量的过程中,允许后面的一个线程获取写锁对共享变量进行写操作,使用乐观读避免数据不一致的问题,并且在读多写少的高并发环境下,比ReadWriteLock更快的一种锁。本文分享自华为云社区《一文彻底理解并发编程中非常重要的票据锁——StampedLock》,作者:冰......
  • Python求100以内的素数常用方法!
    与其他编程语言对比,Python拥有十分独特的优势代码量少,相同功能其他编程语言需要上百行代码才可以实现,而Python只需要十几行就可以实现。而且在Python中,我们只需要学会一些基础的语法就可以实现简单的数值计算,那么Python求100内的所有素数方法是什么?具体内容请看下文。质数......
  • m基于flocking算法的无人机群空间避障飞行matlab仿真,对比二维场景和三维场景
    1.算法描述        近年来,随着通信网络、人工智能、自主系统、大数据的前沿技术的发展,无人机蜂群作战也正在由概念变成现实,从理论走向实践。航迹规划,多机协作,集群控制等问题成为当下研究热点。在军事作战中派遣多无人机协同作战相比于单无人机能够在穿透敌方防御系统,......