您好,登錄后才能下訂單哦!
Objective-C 入門(二)對象 類 變量 方法
學過Java 的 面向對象比較熟悉 Objective-C也是面向對象的
我們來看Objective-c所表達的方式
先寫一個類:我們看到這個類里只有熟悉和方法名字 并沒用去實現 .文件
#import <Foundation/Foundation.h>
@interface SKPerson: NSObject{ //創建類
NSString * name; //NSString* 屬性
int age; //int 屬性
}
-(void)setName:(NSString*) n; //set get 方法
-(void)setAge: (int)a;
-(NSString*)name;
- (void) go;
@end;
實現這個類的代碼 .m 文件
@implementation SKPerson
-(void)setName:(NSString*) n{ //實現setName方法
If(n!=nil){
[n retain] //拿住這個對象
[ name release] //釋放原來的對象
name=n;
}
}
-(void)setAge: (int)a{
Age=a;
}
-(NSString*)name{
return name;
}
- (void) go{
NSLog(@"This is a method");
}
@end;
實例化類對象的方法 .m 文件
#import <Foundation/Foundation.h>
int main(int argc,const char*argv[]){
NSAutoreleasePool * pool=[[NSAutoreleasePool alloc] intit ];
SKPerson * skyoceanone;
skyoceanone=[[SKPerson alloc] init]; //也可以寫成[SKPerson new]不建議
[skyoceanone setName:@"sky"];
[skyoceanone setAge:25];
[skyoceanone go];
[skyoceanone release];
[pool drain];
return 0;
}
NSString * 類型 是一個指針類型 它指向的是字符串的內存地址 OC 的代碼 就是指針類型 (以后會做詳細的解析指針)
然后為變量生成 get 和 set 方法 (get字母被省略) OC中不能自動生成get和set 下面介紹 另一種方法來生成 get set
屬性訪問器:
-(void)setName:(NSString*) n;
-(void)setAge: (int)a;
-(NSString*)name;
可以寫成:
@propert (retain) NSString* name; //一行代碼就實現了 set 和 get
@propert (assign) int age;
實習方法的代碼可以寫成:
@synthesize name;
@synthesize age;
使用方法可以寫成:
Skyoceanone.name=@"sky"; //set 方法
Skyoceanone.age=25;
Skyoceanone.age; //沒有=號 就相當于 使用了get方法
---------本博文針對有JAVA基礎 OC還屬于初學者 文中有錯誤的地方還請指出 特感謝趙哲老師提供圖片
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。