zz object c

 

Objective-C中,咱們能夠用new簡單的代替alloc init,咱們今天介紹的是相似於new這種簡易用法的另外一種OC特性,用@property,@synthesize來代替get,set方法,用起來很簡單,能夠省掉不少的代碼量,當須要用SET,GET方法的地方,咱們能夠用@property,@synthesize來簡單的代替,這時系統會自動給咱們生成該變量的set,get方法,@property對應方法的聲明部分,@synthesize對應方法的實現部分。java

這時系統會自動生成age,height的set,get方法,能夠直接使用,那還有一種狀況,若是我只想讓age有get方法,沒有set方法怎麼辦,也就是說在初始化裏給一個默認值,而這個值只能被調用,不能被修改,用@property這種方式能夠嗎?答案是確定的,由於@property給咱們提供了相似參數的一種可選項,關鍵詞是readonly,readwrite,分別對應着只能讀不能修改和讀寫都可,通常咱們不設置readwrite,由於默認就是讀寫狀態。看代碼:objective-c

Object-C中的類方法和實例方法區別.net

Object-C中方法的概念和Java同樣,Object-c中有兩種方法—實例方法(須要實例化才能調用的方法)和類方法(類方法也能夠說是靜態方法,參照Java中的靜態方法)。blog

     聲明實例方法須要在減號字符(-)做爲前綴。聲明類方法須要使用加號字符(+)做爲前綴。 在Object-c中方法須要在頭文件中聲明,方法聲明示例: get


#import <Foundation/Foundation.h> 
@class AnotherClass;
@interface TestClass : NSObject { it

int  age; 

NSString  *name; io

}class

-(void)  doMethod1;
-(void)  doMethod3: (NsString *)str withAnotherPara:(float) value; 
+(void)  doMethod4; import

-(void)  doMethod2: (NSString *)str; 變量

@end 

 

方法實現示例: 
#import 「TestClass.h」 

@implementation TestClass 

-(void)  doMethod1{ 
    --(方法主體)-- 


-(void)  doMethod2:(NSString *) str{ 
    --(方法主體)-- 


-(void)  doMethod3:(NSString *) str withAnotherPara:(float)  value { 
    --(方法主體)-- 


+(void) doMethod4 { 

    --(方法主體)-- 


調用方法示例: 
TestClass *justTest =[TestClass alloc]; 

[justTest doMethod1]; 
[justTest doMethod2 : @」Holle Xiaming」]; 
[justTest doMethod3 : @」Holle xiaming」withAnotherPara:1.0f]; 

//類方法可直接使用類名調用// 

[TestClass doMethod4]; 

相關文章
相關標籤/搜索