构建一个多层次继承的C#控制台应用程序:居民、成人与官员信息管理
在本文中,我们将通过一个实际的C#控制台应用程序示例,展示如何使用类的继承来构建一个多层次的数据结构。我们将创建三个类:Resident
(居民)、Adult
(成人)和Official
(官员),每个类都包含特定的属性和方法,用于输入和输出数据。这个程序将帮助我们理解面向对象编程中的继承概念,并展示如何在实际应用中使用它。
居民类(Resident)
Resident
类是我们的基础类,包含所有居民共有的属性:身份证号(ID)、姓名(Name)和出生日期(BirthDate)。这个类提供了一个无参构造函数和一个有参构造函数,以及两个方法:Input()
用于从控制台读取数据,Output()
用于将数据输出到控制台。
public class Resident
{
public string ID {
get; set; } // 身份证号
public string Name {
get; set; } // 姓名
public DateTime BirthDate {
get; set; } // 出生日期
public Resident() {
}
public Resident(string id, string name, DateTime birthDate)
{
ID = id;
Name = name;
BirthDate = birthDate;
}
public void Input()
{
Console.Write("请输入身份证号:");
ID = Console.ReadLine();
Console.Write("请输入姓名:");
Name = Console.ReadLine();
Console.Write("请输入出生日期(格式如:1990-01-01):");
BirthDate = DateTime.Parse(Console.ReadLine());
}
public void Output()
{
Console.WriteLine($"身份证号:{
ID}");
Console.WriteLine($"姓名:{
Name}");
Console.WriteLine($"出生日期:{
BirthDate.ToShortDateString()}");
}
}
成人类(Adult)
Adult
类继承自Resident
类,并添加了成人特有的属性:学历(Education)和职业(Occupation)。这个类重写了Input()
和Output()
方法,以包含成人特有的数据输入和输出。
public class Adult : Resident
{
public string Education {
get; set; } // 学历
public string Occupation {
get; set; } // 职业
public Adult() : base() {
<