詳解Objective-C建構函式

來源:互聯網
上載者:User

Objective-C建構函式是本文要介紹的內容,主要是來瞭解建構函式,它是在建立對象的時候用來初始化對象資料的一種特殊的方法,構造方法返回對象的一個指標,我們可以通過調用超類的 init 方法來擷取這個指標。objective-c 函數,Objective-C 建構函式Objective-C函數調用,Objective-C 函式宣告。

建構函式是在建立對象的時候用來初始化對象資料的一種特殊的方法。建構函式可以使用任何方式命名,但是通常,將他們命名為 Init 。構造方法返回對象的一個指標,我們可以通過調用超類的 init 方法來擷取這個指標,超類是當前的類所派生自的類,也就是當前類的父類,這裡通常是 NSObject 類。

Objective-C 建構函式

以下為引用內容:

 
  1. -(Container * ) myInit(int)n {      
  2. self = [super init];      
  3. if(self)   {            
  4. [self  setNumber:n];     
  5. }       
  6. return selef;   

在代碼中,當我們建立對象的時候,就可以把值傳遞給建構函式方法),如下面的代碼把對象中的資料初始化為 3 。

以下為引用內容:

 
  1. Container* obj = [[Container new] myInit:3]; 

完整執行個體參考代碼

以下為引用內容:

 
  1. #import <Foundation/Foundation.h> 
  2. #import "student.h"   
  3. @interface  myobj:NSObject {  
  4.      int number;   
  5.  }   
  6.  -(void) setNumber:(int)Num:(int) Num2;   
  7.  -(void) outP;  
  8.   -(myobj*) myinit:(int)Num:(int)Num2;   
  9. @end @implementation myobj { }   
  10. -(myobj*) myinit:(int)Num:(int)Num2 {  
  11.      self =[super init];     
  12.      // 這裡的超類的Init方法的名稱是不能改變的       
  13.      if (self) {       
  14.          [self setNumber:Num:Num2];       
  15.     }      
  16.       return self;   
  17.    }   
  18.    -(void) setNumber:(int)Num:(int)Num2{  
  19.         number = Num+Num2;   
  20.       }   
  21.    -(void) outP{      
  22.     printf("this is the number you put in =%i",number);   
  23.   } @end int main (int argc, const char * argv[]) {   
  24.       NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];       
  25.       myobj* obj = [[myobj new] myinit:10:20];       
  26.       [obj outP];       
  27.       [pool drain];       
  28.      return 0;  

Console 視窗中的運行結果:

以下為引用內容:

 
  1. run [Switching to process 643]   
  2. Running…   
  3. this is the number you put in =30 
  4. Debugger stopped.   
  5. Program exited with status value:0.  

小結:詳解Objective-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.