多态
//多态,表示调用父类的方法,会自动对像的子类的方法
//zhun
var ps = new List<Person>();
ps.AddRange(new[] {(Person)new Chinese("小明"), new English("Tom")});
for (int i = 0; i < ps.Count; i++)
{
ps[i].Speak();
}
class Person
{
protected string name;
public Person(string name)
{
this.name = name;
}
public virtual void Speak()
{
Console.WriteLine($"我是人类,我叫{name},会说话");
}
}
class Chinese : Person
{
public Chinese(string name) : base(name)
{
}
public override void Speak()
{
Console.WriteLine($"我是中国人,我叫{name},会说话");
}
}
class English : Person
{
public English(string name) : base(name)
{
}
public override void Speak()
{
Console.WriteLine($"I am English,My Name is {name},I can speak English");
}
}

浙公网安备 33010602011771号