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();
运行结果: