C#學習筆記(五)中級 建構函式和解構函式 靜態類

來源:互聯網
上載者:User

第二十講 建構函式和解構函式

建構函式: 是一種特殊的成員函數,它主要用於為對象分配儲存空
間,對資料成員進行資料初始化;
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 "北京首都"; }
}

}

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.