class //Pet定义一个宠物类(Pet):
{
string name; //该类中定义私有的成员字段name姓名和age年龄,并设置其相应的公有属性;
public string Name
{
get { return name; }
set { name = value; }
}
int age;
public int Age
{
get { return age; }
set { age = value; }
}
public virtual void cry()//该类包括两个方法:叫Cry(),吃东西Eat();
{
Console.WriteLine("我是宠物,我叫{0},我{1}岁了",this.name,this.age);
}
public virtual void eat()
{
Console.WriteLine("我是爱吃的宠物");
}
public Pet() { } //完成该类的无参有参构造方法;
public Pet(string name, int age)
{
this.name = name;
this.age = age;
}
}
class Dog:Pet//定义宠物的子类狗(Dog):
{
public override void cry() //覆盖父类的Cry(),Eat()方法;增加方法看门GuardEntrance()
{
Console.WriteLine("我是狗,我叫{0},我{1}岁了",this.Name,this.Age);
}
public override void eat()
{
Console.WriteLine("我喜欢啃");
}
public void GuardEntrance()
{
Console.WriteLine("我喜欢看门,呵呵");
}
public Dog() { } //完成该类的无参有参构造方法;
public Dog(string name, int age) : base(name, age) { }
}
class Cat:Pet //定义宠物的子类猫(Cat):
{
public override void cry() //覆盖父类的Cry(),Eat()方法;
{
Console.WriteLine("我是猫,我叫{0},我{1}岁了",this.Name,this.Age);
}
public override void eat()
{
Console.WriteLine("我喜欢喝");
}
public void GuardEntrance()//增加猫自己独有的方法捉老鼠HuntMice();
{
Console.WriteLine("我喜欢看书,");
}
public Cat() { }//完成该类的无参有参构
public Cat(string name, int age) : base(name, age) { }
}
Pet pet1 = new Dog("小黄",3);
pet1.cry();
pet1.eat();
((Dog)pet1).GuardEntrance();
Pet pet2 = new Cat("小白", 2);
pet2.cry();
pet2.eat();
((Cat)pet2).GuardEntrance();