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++中建構函式,拷貝建構函式和賦值函式的詳解C++函式賦值
- 繼承中的建構函式繼承函式
- 類的建構函式和解構函式函式
- 預設建構函式、引數化建構函式、複製建構函式、解構函式函式
- 建構函式與解構函式函式
- ## 建構函式函式
- C# 建構函式 (初始化成員變數的角色)C#函式變數
- 關於scala中的主建構函式函式
- C++ 建構函式和解構函式C++函式
- 關於建構函式與解構函式的分享函式
- 建構函式與普通函式的區別函式
- C# 中的本地函式C#函式
- dart系列之:dart類中的建構函式Dart函式
- JavaScript 建構函式JavaScript函式
- C#的IDisposable 介面和解構函式C#函式
- PHP筆記:建構函式與解構函式PHP筆記函式
- 【C++】初始化列表建構函式VS普通建構函式C++函式
- C#12中的Primary Constructors(主建構函式)C#Struct函式
- 建構函式之間的呼叫函式
- swoole 服務的建構函式函式
- js建構函式的繼承JS函式繼承
- 11-建構函式函式
- 初識建構函式函式
- JavaScript Date()建構函式JavaScript函式
- 建構函式建立物件函式物件
- 建構函式詳解函式
- 建構函式和類函式
- C++入門記-建構函式和解構函式C++函式
- 預設建構函式和帶預設值的建構函式不能同時存在函式
- 【譯】JavaScript 工廠函式 vs 建構函式JavaScript函式
- flutter-dart 類的建構函式FlutterDart函式
- 19-父類的建構函式函式
- constructor 未指向建構函式Struct函式
- 回顧Javascript建構函式JavaScript函式
- JS 建構函式與類JS函式
- Dart建構函式介紹Dart函式
- Java建構函式詳解Java函式
- Java泛型建構函式Java泛型函式
- 結構體中的指標&&複製賦值建構函式改造結構體指標賦值函式