欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

IOS之构造方法与自定义构造方法的区别与实现

程序员文章站 2022-03-08 16:25:33
构造方法,也就是int方法,不接受任何的参数,而在实际的开发过程中,为了方便,会经常自定义构造方法。因此,以下分别介绍下构造方法和自定义构造方法的实现。 #i...

构造方法,也就是int方法,不接受任何的参数,而在实际的开发过程中,为了方便,会经常自定义构造方法。因此,以下分别介绍下构造方法和自定义构造方法的实现。

#import <foundation/foundation.h> 
#import "iphone.h" 
int main(int argc, const charchar * argv[]) 
{ 
 /* 
 iphone * phone1 = [iphone new]; 
 phone1->_cpu = 1.5; 
 phone1->_ram = 512; 
 */ 
 /*iphone * phone = [iphone alloc];//offcc 
 phone = [phone init];//[0ffcc init]; 
 */ 
 //开辟内存空间,以及初始化成员变量合并一起调用 
 iphone * phone = [[iphone alloc]init];//[0ffcc init]; 
 phone->_ram = 512; 
 
 nslog(@"%@",phone); 
 
 iphone * phone2 = [[iphone alloc] initwithiphonesize:iphonesize4point0]; 
 
 nslog(@"%@",phone2); 
 
 iphone * phone3 = [[iphone alloc] initwithiphonesize:iphonesize4point0 andphonecolor:iphonecolorblack]; 
 return 0; 
} 

#import <foundation/foundation.h> 
 
enum iphonesize 
{ 
 iphonesize3point5,//3.5寸屏幕 
 iphonesize4point0,//4.0寸屏幕 
 iphonesize4point7,//4.7寸屏幕 
 iphonesize5point5 //5.5寸屏幕 
}; 
 
typedef enum iphonesize iphonesize; 
enum iphonecolor 
{ 
 iphonecolorwhite, 
 iphonecolorblack 
}; 
 
typedef enum iphonecolor iphonecolor; 
 
 
enum iphoneflashlightstatus 
{ 
 iphoneflashlightstatusopen, 
 iphoneflashlightstatusclose, 
 iphoneflashlightstatusauto 
}; 
typedef enum iphoneflashlightstatus iphoneflashlightstatus; 
 
 
@interface iphone : nsobject 
{ 
 @public 
 /** 用来存储iphone屏幕尺寸 */ 
 //enum iphonesize 与iphonesize 等价 
 iphonesize _size;//用来存储iphone屏幕尺寸 
 /** 用来存储iphone颜色 */ 
 iphonecolor _color;//用来存储iphone颜色 
 
 /** 用来存储cpu大小 */ 
 float _cpu; 
 /** 用来存储内部容量大小 */ 
 float _ram; 
} 
 
 
/**打开闪光灯*/ 
-(void)openflashlight; 
/**关闭闪光灯*/ 
-(void)closeflashlight; 
/**自动*/ 
-(void)flaselightauto; 
/**拍照*/ 
-(void) camerawithflashlightstatus:(iphoneflashlightstatus)flaselightstatus; 
 
/**根据传入参数返回相应颜色*/ 
-(nsstring * )getcolorwithiphonecolor:(iphonecolor)iphonecolor; 
 
 
+(nsstring *)getcolorwithiphonecolor:(iphonecolor)iphonecolor; 
 
//自定义构造方法 
//1.一定是对象方法 
//2.构造方法一定是init开头 
-(iphone *)initwithiphonesize:(iphonesize)iphonesize; 
-(iphone *)initwithiphonesize:(iphonesize)iphonesize andphonecolor:(iphonecolor)iphonecolor; 
@end 
通过以上介绍,希望大家对构造方法和自定义构造方法有所认识与区别,希望对大家有所帮助。