構造方法,也就是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通過以上介紹,希望大家對構造方法和自定義構造方法有所認識與區別,希望對大家有所幫助。