详解Objective-C构造函数

移动开发 iOS
构造函数是在创建对象的时候用来初始化对象数据的一种特殊的方法。构造函数可以使用任何方式命名,但是通常,将他们命名为 Init 。

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构造函数的内容介绍完了,希望通过本文的学习能对你有所帮助!

 

责任编辑:zhaolei 来源: 互联网
相关推荐

2011-08-04 11:15:46

Objective-C 构造函数 构造方法

2011-08-15 17:29:36

Objective-C构造函数

2011-08-01 17:11:43

Objective-C 函数

2011-07-29 16:16:30

Objective-c block

2011-07-18 16:36:51

Objective-C XCode

2014-04-01 10:50:42

iOS开发runtimeObjective-C

2015-10-08 10:01:10

Objective-CLayout

2011-08-17 10:29:39

Objective-C预处理

2011-08-04 13:38:01

Objective-C C++

2011-08-15 14:32:42

Objective-C委托协议

2011-08-17 11:05:22

Objective-C方法

2011-07-27 16:55:12

Objective-c 闭包

2014-04-28 09:56:56

Objective-CiOS命名空间

2011-08-16 10:23:04

Objective-CNSAutoreleaXcode常用键

2011-07-08 18:44:09

Objective-C Self Super

2011-08-16 13:43:40

Objective-C文件cocoa

2011-07-29 15:47:21

iPhone开发 Objective- C

2011-08-04 18:14:42

Objective-C 消息

2011-07-27 16:36:03

iphone Objective- 静态库

2011-08-04 10:04:17

Objective-C 分类 协议
点赞
收藏

51CTO技术栈公众号