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);
        }
    }
}


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


daixiangcn CSDN认证博客专家 后端开发工程师 产品体验官
中国公民,中共预备党员,CSDN博客专家,本科大四在读。江苏省第四届“互联网+”大学生创新创业大赛二等奖获得者,第二届、第三届微信小程序应用开发大赛全国三等奖、华东赛区二等奖项目作者,微信小程序《约车吗》、《庆云慈善会》、《锋云速检》项目工程师。
已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 技术工厂 设计师:CSDN官方博客 返回首页