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; } }
1234567891011121314151617181920212223242526272829class 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) { } }
1234567891011121314151617class 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) { } }
12345678910111213141516171819Pet pet1 = new Dog("小黄",3); pet1.cry(); pet1.eat(); ((Dog)pet1).GuardEntrance(); Pet pet2 = new Cat("小白", 2); pet2.cry(); pet2.eat(); ((Cat)pet2).GuardEntrance(); 123456789