日期:2014-05-17 浏览次数:20977 次
一、对象的初始化
VB中我们定义变量时,给变量分配一定的空间,但并没有要求对变量进行初始化。
对象定义时就不同了。对象是类的实例化,是确实存在的实体,一旦建立了对象不但要为其分配内存控件,而且要保证对象的所有属性有确定的意义。也就是在创建对象时(new)就进行初始化。
1、建立类
class Student
{
private string _no;
private int _age;
public string StudentNo
{
get { return _no; }
set { _no= value; }
}
public int StudentAge
{
get { return _age; }
set { _age= value; }
}
}
2、实例化对象
private void button1_Click(object sender,EventArgs e)
{
Student zhang = new Student(); //创建对象,也初始化构造函数
//以下其实是使用了类的编译器set
zhang.StudentNo ="000001";
zhang.StudentAge = 16;
//显示对象的内容,其实是使用了类的读取器get
label1.Text= zhang.StudentNo +zhang.StudentAge;
}
注意:get{}和set{}为访问器。get为读取,set为编写。只读取数据用get;相反则用set。其中set中的“value”为用户赋给成员的值。
二、什么是构造函数和析构函数?怎样去用它们?
1、构造函数
(1)定义:是一种特殊的成员函数,它主要用于为对象分配空间,进行初始化。
(2)特性:
(3)实例
class Cat() //声明Cat类
{
public string name; //成员变量
public Cat(stringname) //利用构造函数为初始的Cat赋初值
{
this.name=name; //进行赋值
}
}
2、析构函数
(1)定义:如同构造函数可以自动进行对象属性的初始化一样,C#也会自动调用一个函数注销该对象并进行资源的释放与清理工作,这个工作就即析构函数。
(2)特性:
(3)实例
class Cat()
{
……
~ Cat()
{
console.WriteLine();
}
}
注意:
三种情况调用析构:
对象注销时,会自动调用析构函数
对象定义在一个函数体,函数运行结束时,自动撤销对象,析构函数也被自动调用。
若对象由new动态创建,在用delete释放它时,其析构函数被自动调用(若不用delete释放,则系统不会调用析构函数)