C#学习---构造函数(有参,参数)、方法、析构函数、字段、封装实例

Book类:

class Book
    {
        //字段
        public string name; //书名
        public string publish; //价格
        private double price;//规定书的价格在10-100之间

        //属性:将字段封装成属性,对值的范围进行控制
        public double Price
        {
            get { return price; }  //取值
            set { 
                if(value>=10 && value<=100)//设置书价格在10~100之间
                price = value; 
            } //赋值
        }
        public string author;
        private int password;//验证码

        //属性:将字段封装成属性,保护内部信息不直接被外部访问
        public int Code
        {
            get { return password; }
            set { password = value; }
        }
        

        //构造函数:创建对象的时候需要调用构造函数(函数名和类名一致)
        //构造函数分为不带参数的构造函数和带参数的构造函数
        public Book()  //默认构造函数
        {
        }

        //带参数的构造函数:希望在创建对象的时候,直接把数据存入对象
        public Book(string name1,string publish1,double price1,string author1)  //默认构造函数
        {
            this.name = name1;
            this.publish = publish1;
            this.price = price1;
            this.author = author1;
        }

        //方法:实现某个功能

        public void print()  //输出书本的基本信息
        {
            Console.WriteLine("书名:"+name);
            Console.WriteLine("出版社:" + publish);
            Console.WriteLine("价格:" + price);
            Console.WriteLine("作者:" + author);
            Console.WriteLine("验证码:" + password);
        }

        //析构函数:对象被系统回收的时候自动调用
        ~ Book() //当程序运行结束,该对象不再使用的时候自动调用来回收内存资源
        {
            Console.WriteLine(name+"对象被回收");
        }

    }


 

主函数Main:

            Book b1 = new Book();//调用构造函数来创建对象实例
            b1.name = "物联网程序设计";
            b1.Price = 18.5;
            b1.author = "新大陆教育";
            b1.publish = "机械工业出版社";
            b1.Code = 2019;
            b1.print();

            Console.WriteLine("---------------------------------------");

            Book b2 = new Book("Andriod", "人民邮电出版社", 60.6, "新大陆教育");
            b2.print();


运行结果:

C#学习---构造函数(有参,参数)、方法、析构函数、字段、封装实例