C#中的建構函式
在C++中第一次聽到建構函式這個名詞,在C#中又遇到了。
在建立某個類時,由於對該物件的狀態(資料)不是很明確,因此需要對其進行初始化。比如說我們要在長方形這個類中建立一個物件,或者說新建一個長方形,那麼我們首先要確定他的長和寬,假如我們無法確定它的長和寬,那麼我們是無法造出一個長方形來的。所以就要使用這個長方形類中一個用來構造該類所有物件的函式——建構函式。由於該函式要在建立一個新物件時使用,因此它不肯能存在於物件之後,那麼我們就必須在類中對它進行宣告和定義。
如果有一個名稱是MyClass的類,其定義的建構函式框架如下:
public class MyClass
{
public MyClass()
{
}
}
下面就拿計算長方形的面積來舉例吧:
首先,宣告一個rectangle類:
class rectangle
{
public rectangle(int w, int h) //建構函式的宣告
{
width = w;
high = h;
}
public int area()
{
return width * high;
}
private int width;
private int high;
}
其次,將類例項化為A,完成初始化。
Program
{
static void Main(string[] args)
{
rectangle A = new rectangle(3,4); //建立物件A時執行了初始化
Console.WriteLine("長方形的面積為{0}",A.area());
}
}
最後,要注意的是, 建構函式沒有返回值,而且一個類可以有多個建構函式。使用有引數的建構函式時,需要自己寫一個空引數的建構函式。
相關文章
- c# tcbs之建構函式呼叫建構函式示例C#函式
- C#例項建構函式C#函式
- C#建構函式繼承C#函式繼承
- C#中的解構函式C#函式
- 關於C#中建構函式的繼承的問題C#函式繼承
- 繼承中的建構函式繼承函式
- C++中建構函式,拷貝建構函式和賦值函式的詳解C++函式賦值
- C#中解構函式,Close函式,Dispose函式的區別C#函式
- c#之tcbs 建構函式小記C#函式
- 類的建構函式和解構函式函式
- 拷貝建構函式中的陷阱函式
- android中Fragment的建構函式AndroidFragment函式
- C# 泛型 new()建構函式約束C#泛型函式
- 建構函式與解構函式函式
- 關於scala中的主建構函式函式
- 建構函式中丟擲的異常函式
- ## 建構函式函式
- 建構函式函式
- Java的建構函式Java函式
- 建構函式的作用函式
- [譯] 建構函式已死,建構函式萬歲!函式
- C/C++——建構函式、複製建構函式和解構函式的執行時刻C++函式
- C++ 建構函式和解構函式C++函式
- 【C#學習筆記】類建構函式使用C#筆記函式
- C# 建構函式 (初始化成員變數的角色)C#函式變數
- 關於建構函式與解構函式的分享函式
- dart系列之:dart類中的建構函式Dart函式
- C++ 類建構函式和解構函式C++函式
- JavaScript 建構函式JavaScript函式
- 建構函式、this、static函式
- 消除複製建構函式和“模板式複製建構函式”中的冗餘程式碼 (轉)函式
- 建構函式與普通函式的區別函式
- C# 中的本地函式C#函式
- c#之saf靜態屬性與建構函式C#函式
- 虛解構函式(√)、純虛解構函式(√)、虛建構函式(X)函式
- java中寫建構函式的另外一種方式Java函式
- PHP筆記:建構函式與解構函式PHP筆記函式
- JavaScript建構函式和普通函式的區別JavaScript函式