C#设计编写一个控制台应用程序

设计编写一个控制台应用程序,练习类的继承。

(1) 编写一个抽象类 People,具有”姓名”,”年龄”字段,”姓名”属性,Work 方法。

(2) 由抽象类 People 派生出学生类 Student 和职工类 Employer,继承 People 类,并覆盖Work 方法。

(3) 派生类 Student 增加”学校”字段,派生类 Employer 增加”工作单位”字段。

(4) 在 Student 和 Employer 实例中输出各自不同的信息。 

代码:

复制代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Lab06_1
{
    abstract class People   //抽象类:people
    {
        public String name; //姓名
        public String Name { get; set; }//姓名属性
        public int age;//年龄
        public abstract void work();//work方法
    }
    class Student : People
    {
        public String school;
        public override void work()
        {
            Console.WriteLine("这是student");
        }
    }
    class Employer : People
    {
        public String workplace;
        public override void work()
        {
            Console.WriteLine("这是Employer");
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            Student st=new Student();
            Console.WriteLine("请输入学生的姓名:");
            st.name=Console.ReadLine();
            Console.WriteLine("请输入学生的年龄:");
            st.age=int.Parse(Console.ReadLine());
            Console.WriteLine("请输入学生的学校:");
            st.school = Console.ReadLine();
            Console.WriteLine("学生的姓名:{0}",st.name);
            Console.WriteLine("学生的年龄:{0}",st.age);
            Console.WriteLine("学生的学校:{0}", st.school);
            st.work();
            Employer em = new Employer();
            Console.WriteLine("请输入员工的姓名:");
            em.name = Console.ReadLine();
            Console.WriteLine("请输入员工的年龄:");
            em.age = int.Parse(Console.ReadLine());
            Console.WriteLine("请输入员工的工作地点:");
            em.workplace = Console.ReadLine();
            Console.WriteLine("员工的姓名:{0}", em.name);
            Console.WriteLine("员工的年龄:{0}", em.age);
            Console.WriteLine("员工的工作地点:{0}", em.workplace);
            em.work();
Console.Write("\n请按任意键继续...");
            Console.ReadKey();
        }
    }
   
}
复制代码

运行结果:

posted @   睡觉不困  阅读(1539)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
点击右上角即可分享
微信分享提示