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

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();

        }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值