namespace ConsoleApp20
{
public class Pet
{
protected string _name; //1. "_":表示私有 2. protected 保护
public Pet(string name)
{
_name = name;
}
virtual public void Speak()
{
Console.WriteLine(_name+" is speaking");
}
}
public class Cat:Pet
{
public Cat(string name) :base (name) //base 调用基类构造函数
{
}
override public void Speak()
{
Console.WriteLine(_name + " is speaking:" + " meow");
}
}
public class Dog:Pet
{
public Dog(string name):base(name)
{
}
override public void Speak()
{
Console.WriteLine(_name + " is speaking:"+" wowo");
}
}
class Program
{
static void Main(string[] args)
{
Pet[] pets = new Pet[] { new Dog("Jack"), new Cat("Tom") };
for(int i = 0; i < pets.Length; i++)
{
pets[i].Speak();
}
}
}
}
2020.12.1