C#学习笔记(五)中级 构造函数和析构函数 静态类

第二十讲 构造函数和析构函数

构造函数: 是一种特殊的成员函数,它主要用于为对象分配存储空
间,对数据成员进行数据初始化;
1.构造函数的名字必须与类同名;
2.构造函数没有返回类型,它可以带参数,也可以不带参数
3.构造函数的主要作用是完成对类的初始化操作
4.在创建一个类的新对象(使用new关键字)时,系统会自动调用类
的构造函数初始化新对象;


析构函数:是一种特殊的成员函数,当对象销毁时候调用。
1.当对象达到销毁条件时,析构函数是自动被调用的,不能显式的对
其进行调用;
2.一般情况下,不用自己写析构函数。但是有时候必须写,也就是你
使用了非托管资源,比如:当你使用了API函数时,你使用了非托管
资源。

代码:
namespace First {
public partial class Form1 : Form {
public Form1() {
InitializeComponent();
}

private void Form1_Load(object sender, EventArgs e) {
//A a = new A();
// A a=new A(1);

B b = new B();
b = null;

GC.Collect();
GC.WaitForPendingFinalizers();


}
}

//自定义A类
//构造函数
public class A {
//成员变量
int num;
//构造函数
public A() { MessageBox.Show("调用无参数构造函数!!"); }
public A(int i) {
num = i;
MessageBox.Show("调用有效参数构造函数!!");
}

}
class B {
~B() {
MessageBox.Show("调用的析构函数");
}

}
}


第二十一讲 静态类 静态方法 静态变量

静态类 共享数据

我们使用Math

MessageBox.Show

代码: private void Form1_Load(object sender, EventArgs e) {
/*
int renShu = BanJi.NumberOfStudents;//获得静态成员变量
this.textBox1.Text = renShu.ToString();
//*/
/*
BanJi theBanJi1= new BanJi();
BanJi theBanJi2 = new BanJi();
theBanJi1.AndBoy();
theBanJi2.AndBoy();
int renShu = BanJi.NumberOfStudents;//获得静态成员变量
this.textBox1.Text = renShu.ToString();
//*/
/*
BanJi theBanJi1= new BanJi();
BanJi theBanJi2 = new BanJi();
theBanJi1.AndBoy();
theBanJi2.AndBoy();
BanJi.ResetNumberOfStudent();
int renShu = BanJi.NumberOfStudents;//获得静态成员变量
this.textBox1.Text = renShu.ToString();
//*/
MessageBox.Show("PI的值为:" + Math.PI.ToString());
MessageBox.Show("sin5的值为:" + Math.Sin(5).ToString());
}
}
public class BanJi {
//静态成员变量
public static int NumberOfStudents = 0;
//静态成员函数
public static void ResetNumberOfStudent() { NumberOfStudents = 0; }
//非静态成员函数
public void AndGirl() { NumberOfStudents++; }

public void AndBoy() { NumberOfStudents++; }
}
static class CompanyInfo {
public static string GetCompanyName() { return "宇宙香烟"; }
public static string GetCompanyAddress() { return "北京首都"; }
}

}

posted @ 2012-02-22 18:01  51秒懂  阅读(673)  评论(0编辑  收藏  举报