首页 > 代码库 > Objective-c面向对象基础

Objective-c面向对象基础

  目前移动开发热火朝天,今天在家学习最近入手的《Objective-c基础教程》,初步感觉Objective-c与.Net差别很大,为了更好的学习理解Objective-c,将以笔记的形式记录学习的知识点,方便查阅。

  在Objective-c中类分为两部分:声明和实现,声明使用关键字@interface,实现使用关键词@implementation,@符号可以理解为是对C语言的扩展,在.Net中则是使用Class关键字,如下所示:

@interface Person : NSObject{    @private    NSString* firstName;    NSString* lastName;}- (void) setFirstName : (NSString*) fName;- (void) setLastName : (NSString*) lName;- (NSString*) description;+ (NSString*) breath;@end@implementation Person-(void) setFirstName:(NSString *)fName{    self->firstName = fName;}-(void) setLastName:(NSString *)lName{    self->lastName = lName;}-(NSString*) description{    return [[self->firstName stringByAppendingString:@" " ] stringByAppendingString:self->lastName];}+(NSString*) breath{    return @"air";}@end

观察代码得出以下几点:

      1. 每个方法前面都有一个"+" 或者 "-"符号,+表示该方法为类方法由类调用,-表示该方法为实例方法由实例调用。

  2. self关键字表引用实例对象自身,与.NET中的this关键字功能相似。

  3. NSObject是Objective-c中基类,自定义类建议继承NSObject。

  4. description方法继承与NSObject,在Person中被重写,在Objective-c中如果直接使用实例对象,默认调用description方法,相当于.NET中的ToString。

  5. 在Objective-c中方法调用在一对方括号之间,形式如:[ instance method : parameter parameter ......]

 

Objective-c面向对象基础