C#:定义一抽象类Pet(宠物)类,作为基类

用C#语言编写一段程序,满足以下要求:
1.定义一抽象类Pet(宠物)类,作为基类。
2.类中定义两个私有字段毛色和年龄,定义抽象方法完成宠物的自我介绍功能;
3.定义两个派生类Cat和Dog,再覆写基类抽象方法;
4.定义包含主方法的类MainClass,通过抽象类对象调用派生类的覆写方法。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication2
{
    class MainClass                         // 定义包含主方法的类MainClass
    {
        static void Main(string[] args)
        {
            Pet cat = new Cat("black", 2);
            cat.GetInfo();// 通过抽象类对象调用派生类的覆写方法
            Console.ReadKey();
        }
    }
    /* 定义一抽象类Pet(宠物)类,作为基类。类中定义两个私有字段毛色和年龄,定义抽象方法完成宠物的自我介绍功能;
     定义两个派生类Cat和Dog,再覆写基类抽象方法;定义包含主方法的类MainClass,通过抽象类对象调用派生类的覆写方法。*/
    public abstract class Pet             // 定义一抽象类Pet(宠物)类
    {
        private string color;             // 定义两个私有字段毛色和年龄
        private int age;
        public string Color { get { return color; } }
        public int Age { get { return age; } }
        public Pet(string color, int age)
        {
            this.color = color;
            this.age = age;
        }
        public abstract void GetInfo();     // 定义抽象方法完成宠物的自我介绍功能
    }
    public class Cat : Pet
    {

        public Cat(string color, int age) : base(color, age){ }
        public override void GetInfo()    // 再覆写基类抽象方法
        {

            Console.WriteLine("My color is {0},i'm {1} years old.", base.Color, base.Age);
        }
    }
    public class Dog : Pet 
    {
        public Dog(string color,int age) : base(color,age) { }
        public override void GetInfo()
        {
            Console.WriteLine("My color is {0},i'm {1} years old.", base.Color, base.Age);
        }
    }
}


电子邮箱:[email protected]
简介:中华人民共和国公民,中国共青团员,CSDN博客专家,秦淮区疾控中心托管社会公益组织指南针工作室志愿者,在校大学生,参与过微信小程序《约车吗》、《指南针微公益》、《智慧庆云禅寺》的开发。


发布了103 篇原创文章 · 获赞 205 · 访问量 62万+

猜你喜欢

转载自blog.csdn.net/yuanxiang01/article/details/103850923