namespace MyStudy1
{
/*
* C#中,类代表一组具有公共属性和行为的对象
* 例如:Bus类,它的公共属性有公交车号,行驶路线,最大载客量等
* 而它的行为是载客运营等
* 类的成员包括字段,属性,方法,构造函数等
*/
class Bus
{
/// <summary>
/// 公交车号
/// </summary>
public string BusNumber { get; set; } = "惠州K1"; //系统自动属性,方便快捷,使用prop快速创建,首选。
/// <summary>
/// 公交车行驶路线
/// </summary>
private string busLine = "惠州南站-----平潭机场"; //类的成员:字段(用来存储数据,内部数据交互使用)
public string BusLine //类的成员:属性(字段的封装,添加逻辑代码)
{
get { return busLine; } //get访问器负责对字段值进行读取
set { busLine = value; } //set访问器负责对字段进行赋值,它通过value隐式参数来表示用户传入的值
}
/// <summary>
/// 公交车最大载客
/// </summary>
private int busload;
public int Busload
{
get
{
return busload;
}
set
{
if (value <0 || value >32) //在set访问器中添加更多的逻辑代码,来对用户输入错误值进行处理
{
//Console.WriteLine("公交车载客范围为0至32人,请重新输入!");
throw new ArgumentOutOfRangeException("Busload", value, "公交车载客范围为0至32人,请重新输入!");
}
else
{
busload = value;
}
}
}
/* 构造函数
* 主要用于创建类的实例对象
* 一个类中至少由一个构造函数,如果没有定义,系统自动生成一个函数体为空的无参实例构造函数
* 调用构造函数创建一个对象时,为对象分配内存空间,初始化类的成员
*/
#region 类的成员:构造函数
public Bus() { }
public Bus(string busNumber)
{
this.BusNumber = busNumber;
}
public Bus(string busNumber,string busLine)
{
this.BusNumber = busNumber;
this.BusLine = busLine;
}
public Bus(string busNumber, string busLine,int busload)
{
this.BusNumber = busNumber;
this.BusLine = busLine;
this.Busload = busload;
BusTransportLine(busNumber, busLine, busload);
}
#endregion
/* 方法
* 由方法签名和一系列语句的代码块组成
* 方法签名:方法的参数顺序,参数类型和个数不同
* 返回类型不属于方法签名
* 表示这个对象能做什么,封装了这个对象的行为
*/
#region 类的成员:方法
/// <summary>
/// 公交车行驶路线
/// </summary>
public void BusTransportLine()
{
Console.WriteLine(BusNumber + "公交车的行驶路线是:"+ BusLine);
}
public void BusTransportLine(string busNumber)
{
Console.WriteLine(busNumber + "公交车的行驶路线是:" + BusLine);
}
public void BusTransportLine(string busNumber,string busLine)
{
Console.WriteLine(busNumber + "公交车的行驶路线是:" + BusLine);
}
public void BusTransportLine(string busNumber, string busLine,int busload)
{
Console.WriteLine(busNumber + "公交车的最大载客量"+busload+"人;" + "它的行驶路线是:" + BusLine);
}
/// <summary>
/// 公交车运营时间
/// </summary>
public void BusServiceTime()
{
Console.WriteLine("公交车的运营时间是早上8:00-----20:00");
}
#endregion
}
}
class Program
{
static void Main(string[] args)
{
Bus bus1 = new Bus();
bus1.BusServiceTime();
bus1.BusTransportLine();
bus1.BusTransportLine("32路", "惠州城市候机楼------汽车总站", 30);
Console.WriteLine("-------构造函数的使用1--------");
Bus bus2 = new Bus("1路", "梅湖市场-------市中医院新址");
bus2.BusTransportLine();
Console.WriteLine("-------构造函数的使用2--------");
Bus bus3 = new Bus("32路", "惠州城市候机楼------汽车总站", 28);
bus3.BusServiceTime();
Console.Read();
}
}
运行程序显示如下:
公交车的运营时间是早上8:00-----20:00
惠州K1公交车的行驶路线是:惠州南站-----平潭机场
32路公交车的最大载客量30人;它的行驶路线是:惠州南站-----平潭机场
-------构造函数的使用1--------
1路公交车的行驶路线是:梅湖市场-------市中医院新址
-------构造函数的使用2--------
32路公交车的最大载客量28人;它的行驶路线是:惠州城市候机楼------汽车总站
公交车的运营时间是早上8:00-----20:00
这篇博客深入探讨了C#中的类,讲解了类的属性、方法和构造函数的概念及用法。通过示例代码展示了如何定义公交车辆类,包括公交车号、行驶路线和最大载客量,并利用构造函数初始化对象。同时,介绍了如何通过方法封装对象的行为,如公交线路展示和运营时间。示例程序演示了不同构造函数的调用方式及其效果。

6039

被折叠的 条评论
为什么被折叠?



