C# 控制台应用:创建建筑物类 Building
使用 C# 控制台应用程序创建建筑物类 Building
本文将介绍如何使用 C# 控制台应用程序定义一个名为 Building 的类,用于模拟建筑物,并包含以下功能:
- 字段: 包含建筑物的地址、楼层数、竣工时间和所有者信息。
- 构造函数: 初始化 Building 对象,设置所有者的信息。
- 显示信息方法: 用于显示 Building 对象的所有字段信息。
- 属性: 提供对字段的读写访问,其中 '所有者' 属性只读,其余属性可读可写。
代码示例:
using System;
class Building
{
private string address;
private int floors;
private string owner;
private DateTime completionTime;
public Building(string address, int floors, string owner, DateTime completionTime)
{
this.address = address;
this.floors = floors;
this.owner = owner;
this.completionTime = completionTime;
}
public string Address
{
get { return address; }
set { address = value; }
}
public int Floors
{
get { return floors; }
set { floors = value; }
}
public string Owner
{
get { return owner; }
}
public DateTime CompletionTime
{
get { return completionTime; }
set { completionTime = value; }
}
public void DisplayInfo()
{
Console.WriteLine("Address: {0}\nFloors: {1}\nOwner: {2}\nCompletion Time: {3}\n",
address, floors, owner, completionTime);
}
}
class Program
{
static void Main(string[] args)
{
Building myBuilding = new Building("123 Main Street", 5, "John Smith", new DateTime(2000, 1, 1));
myBuilding.DisplayInfo();
Console.WriteLine("Press any key to continue...");
Console.ReadKey();
}
}
解释:
-
Building 类:
- 定义了四个私有字段:
address,floors,owner,completionTime,分别存储建筑物的地址、楼层数、所有者和竣工时间信息。 - 构造函数
Building(string address, int floors, string owner, DateTime completionTime)用于初始化 Building 对象,将传入的参数赋值给相应的字段。 - 定义了四个属性:
Address,Floors,Owner,CompletionTime,分别对应四个私有字段。其中Owner属性只读,其他属性可读可写。 - 定义了方法
DisplayInfo(),用于打印 Building 对象的所有字段信息。
- 定义了四个私有字段:
-
Program 类:
- 在
Main方法中创建了一个 Building 对象myBuilding,并使用构造函数对其进行初始化。 - 调用
myBuilding.DisplayInfo()方法显示 Building 对象的信息。 - 使用
Console.ReadKey()使程序暂停,以便在控制台中查看输出结果。
- 在
运行结果:
Address: 123 Main Street
Floors: 5
Owner: John Smith
Completion Time: 01/01/2000 00:00:00
Press any key to continue...
通过以上代码和解释,您可以了解如何使用 C# 创建一个简单的建筑物类,并使用它来模拟现实生活中的建筑物。您可以根据需要添加更多字段、方法和属性来扩展此类,以满足不同的需求。
原文地址: https://www.cveoy.top/t/topic/oeuc 著作权归作者所有。请勿转载和采集!