C#中 类的定义及使用

这篇博客深入探讨了C#中的类,讲解了类的属性、方法和构造函数的概念及用法。通过示例代码展示了如何定义公交车辆类,包括公交车号、行驶路线和最大载客量,并利用构造函数初始化对象。同时,介绍了如何通过方法封装对象的行为,如公交线路展示和运营时间。示例程序演示了不同构造函数的调用方式及其效果。
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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值