实验要求
根据类图编写程序,其中Person中的Eat方法定义为虚方法,Baby和Adult类对该方法进行重写。
(华北理工大学信管专业C#课程作业--大一下学期)
解:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace tets
{
class Program
{
static void Main(string[] args)
{
Person baby = new Baby("zh","女");
baby.Eat();
Adult adult = new Adult("yy","男","大学");
adult.Eat();
adult.Speak();
Console.ReadKey();
}
}
/// <summary>
/// 父类
/// </summary>
class Person
{
private string name;
private string gender;
public Person()
{
}
public Person(string name,string gender)
{
this.gender = gender;
this.name = name;
Console.WriteLine("我是人,性别{0},我叫{1}", gender, name);
}
public virtual void Eat()
{
Console.WriteLine("我是人,我爱吃水果");
}
}
/// <summary>
/// 子类Baby
/// </summary>
class Baby : Person
{
public Baby(string name,string gender):base(name,gender)
{
}
public override void Eat()
{
Console.WriteLine("我是宝宝,我爱喝牛奶");
}
}
/// <summary>
/// 子类Adult
/// </summary>
class Adult : Person
{
private string degree;
public Adult(string name,string gender,string degree)
{
this.degree = degree;
Console.WriteLine("我是{0},性别{1},我的学历是{2}", name,gender,degree);
}
public override void Eat()
{
Console.WriteLine("我是成年人,我爱吃面包");
}
public void Speak()
{
Console.WriteLine("我是成年人,我会唱跳rap和篮球");
}
}
}