c#【对象类构造函数】--乌云后依然是灿烂的晴天

    技术2023-10-08  107

    c#【对象/类/构造函数】

    对象构造函数

    对象

    什么是对象?看得见,摸得到,具体的。但是:包包不是对象,我的包包才是对象

    类:对现实生活中一类具有共同特征的事物的抽象。类的内部封装了方法,用于操作自身的成员 确定对象将会拥有的特征(属性)和行为(方法) 类中可以包含变量的定义和方法 举例:水果可以看作一个类(父类,基类) 苹果,葡萄,荔枝都是水果类的子类(派生类) 苹果的生产地,名称,价格,运输途径相当于该类的属性,苹果的种植方法相当于该类的方法。 类的定义语法

    [访问修饰符] class 类名 { 成员; ...... } #region 练习类的定义 //请练习定义一个人类,人类分别用三个变量来表示,姓名,性别,年龄 //有一个打招呼的方法,有一个走路的方法 public class Person { //字段(三个变量) private string _name; //访问修饰符是private,那么这个字段就是私有的,外面不可以访问,可以通过属性在外面或其他地方进行访问 //属性 public string Name { get { return _name; }//读 set { _name = value; }//写 } private char _gender; public char Gender { get { return _gender; } set { _gender = value; } } private int _age; public int Age { get { return _age; } set { _age = value} } //方法 public void SayHello() { Console.WriteLine("hello大家好,我是人,年龄是{0}" ,Age ); } public void Walk() { Console.WriteLine("走路"); } } #endregion static void Main(string[] args) { #region 类的定义练习 Person per = new Person();//实例化这个类 per.Name = "大琪"; per.Gender = '女'; per.Age = 21; Console.WriteLine(per.Age); per.SayHello(); per.Walk(); Console.WriteLine(per.Name); Console.ReadKey(); #endregion }

    访问修饰符 - public:公共成员,完全公开,没有访问限制。 - private:私有成员、在类的内部才可以访问。 - protected:保护成员,在类的内部才可以访问。 - internal:当前程序集内可以访问。

    构造函数

    构造函数是在创建给定类型的对象时执行的类方法,构造函数的命名必须和类名完全相同,用来创建对象时初始化对象。也就是给对象成员变量赋予初值,可以重载。 不带参数的构造函数称为“默认构造函数”,主要使用new运算符创建对象,不为new提供任何参数,就会调用默认构造函数,可以自定义构造函数,并且设置参数 类中默认带一个无参数的构造函数,一旦建立心的构造函数,默认的无参数的构造函数就会被干掉。 构造函数车票例子

    public class Ticket { public Ticket(int distance)//一个车票的构造函数 { if (distance < 0) { distance = 0; } this._distance = distance;//将Ticket构造函数传递过来的参数值distance赋值给本类中的_distance字段 } int _distance; public int Distance { get { return _distance; } } double _price; public double Price { get { if (_distance <= 100) //如果字段_distance小于等于100 { return _distance * 1.0; } else if (_distance <= 200) { return _distance * 0.95; } else if (_distance <= 300) { return _distance * 0.9; } else { return _distance * 0.8; } } } public void Show() { Console.WriteLine("{0}公里的价格为{1}",this.Distance ,this.Price ); } } static void Main(string[] args) { Ticket t = new Ticket(100); //实例化Ticket类,创建一个t的对象,并向对象的属性赋值 t.Show(); Console.ReadKey(); }
    Processed: 0.012, SQL: 9