Object-C和Java的关键字对比

Object-C和Java的关键字对比

Class Interface
// 导入UIKit/UIKit,这个和Java关键字import差不多。
#import <UIKit/UIKit.h>
// @interface相当于Java关键字class;:相当于Java关键字extends;<>相当于Java关键字implements,里面是实现的一系列protocol;protocol相当于Java中的interface;{}中声明了一些变量。
@interface MyClass : SuperClass <Protocol1, Protocol2> {
    // 声明基本变量valid
    BOOL valid;
    // 声明指针变量topView
    UIView *topView;
}
// @property相当于Java中的get和set方法;atomic相当于Java关键字synchronized,而non atomic的意思则与之相反;assign是直接赋值。
@property (nonatomic, assign) BOOL valid;
// retain相当于[tempValue retain];[value release];value = tempValue;,这样,当tempValue和老的value是同一个对象时,不会出错;copy相当于NSObject *newValue=[tempValue copy];[value release];value = newValue;;IBOutlet要和NIB文件配合使用。
@property (nonatomic, retain) IBOutlet UIView *topView;
// 定义方法refresh;+相当于Java关键字static,-则与之相反。
– (void) refresh;
// @end相当于Java Class结尾的}
@end

Class Implementation
// 导入MyClass,这个和Java关键字import差不多。
#import "MyClass.h"
// 增加方法
@interface MyClass ()
– (void) fetchList;
@end
// 实现MyClass
@implementation MyClass
// 生成属性
@synthesize valid;
@synthesize topView;
// 实现方法
– (void) dealloc {
    [valid release];
    [topView release];
    [super dealloc];
}
– (void) refresh {
}
– (void) fetchList {
}
// @end相当于Java Class结尾的}
@end

参考文章:

http://cocoadevcentral.com/d/learn_objectivec/

https://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/ObjectiveC/Chapters/ocProperties.html#//apple_ref/doc/uid/TP30001163-CH17-SW1