最近自學ios,ios的支持語言是Objective-c,因此要學習ios就須要先學習Objective-c語言。當掌握了Objective-c的基礎知識以後,咱們就能夠入手學習iOS開發作出一些本身的應用。 java
我如今仍是一名java程序員因此我就按照java的理解方式去理解Objective-c。最初先了解他的語法。下面 這段代碼是我在學習過程當中跟java對比的理解。都是一些最最基礎的語法,隨後會逐步深刻。 ios
代碼段一:類的定義,類的定義放置在後綴爲「.h」的文件中在java中是沒有這一步的,這個跟c++很像。 c++
//導入代碼文件,至關於java中的導包
#import <Foundation/Foundation.h> @interface Song : NSObject { //聲明屬性,素性的聲明須要放在花括號中 NSString * name; NSString * artist; int ID; } //至關於定義get,set方法 @property int ID; //重初始化方法,至關於java中的構造函數 //在重寫初始化方法是也能夠隨意命名方法名,返回值爲id類型就能夠 -(id)init; //帶參數的初始化方法 -(id)init:(NSString *)name artist:(NSString *)artist; //聲明實例方法,get方法,帶返回值的返回值類型是NSString至關於java的String類型 -(NSString *)name; //聲明沒有返回值的方法,set方法 -(void)setName:(NSString *)newName; -(NSString *)artist; -(void)setArtist : (NSString *)newArtist; //重寫父類中的方法 -(NSString *)description; //聲明靜態方法 +(void) getString; @end
代碼段二:類的實現,類的實現代碼放置在後綴爲「.m」的文件中。 程序員
#import "Song.h" @implementation Song -(id)init { return self; } - (id)init:(NSString *)name artist:(NSString *)artist { self = [super init]; if (self) { self.name = name; self.artist = artist; } return self; } //至關於實現get,set方法 @synthesize ID;/*
/* *實現實例方法 */ -(NSString *)name // { return name; } -(void)setName:(NSString *)newName { name = newName; } -(NSString *)artist { return artist; } -(void)setArtist:(NSString *)newArtist { artist = newArtist; } -(NSString *)description { //用self關鍵字使用"."方式調用自己的方法,self表明自己,至關於java中的this關鍵字 return self.name; //用self關鍵字使用obj_c自己特性調用自己的方法 //return [self name]; } /* *實現靜態方法 */ +(void)getString { NSLog(@"name:chh"); } @end