C#中的建構函式

來源:互聯網
上載者:User

標籤:ogr   article   fork   定義   har   資料   mic   clip   set   

在建立某個類時,由於對該對象的狀態(資料)不是很明確,因此需要對其進行初始化。比如說我們要在長方形這個類中建立一個對象,或者說建立一個長方形,那麼我們首先要確定他的長和寬,假如我們無法確定它的長和寬,那麼我們是無法造出一個長方形來的。所以就要使用這個長方形類中一個用來構造該類所有對象的函數——建構函式。由於該函數要在建立一個新對象時使用,因此它不肯能存在於對象之後,那麼我們就必須在類中對它進行聲明和定義。

    如果有一個名稱是MyClass的類,其定義的建構函式架構如下:

 

[csharp] view plain copy  
  1. <span style="font-family:Microsoft YaHei;font-size:18px;">public class MyClass  
  2. {  
  3.     public MyClass()  
  4.     {  
  5.   
  6.     }  
  7. }</span>  

    下面就拿計算長方形的面積來舉例吧:

    首先,聲明一個rectangle類:

   

[csharp] view plain copy  
  1. <span style="font-family:Microsoft YaHei;font-size:18px;">class rectangle  
  2.     {  
  3.         public rectangle(int w, int h)  //建構函式的聲明  
  4.         {  
  5.             width = w;  
  6.             high = h;  
  7.         }  
  8.         public int area()  
  9.         {  
  10.             return width * high;  
  11.         }  
  12.         private int width;  
  13.         private int high;  
  14.     }</span>  


    其次,將類執行個體化為A,完成初始化。

   

[csharp] view plain copy  
  1. <span style="font-family:Microsoft YaHei;font-size:18px;"> Program  
  2.     {  
  3.         static void Main(string[] args)  
  4.         {  
  5.             rectangle A = new rectangle(3,4);    //建立對象A時執行了初始化  
  6.             Console.WriteLine("長方形的面積為{0}",A.area());  
  7.         }  
  8.     }</span>  

 

    最後,要注意的是, 建構函式沒有傳回值,而且一個類可以有多個建構函式。使用有參數的建構函式時,需要自己寫一個空參數的建構函式。

C#中的建構函式

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.