首页 / 操作系统 / Linux / Objective-C 基本的程序结构
以一段程序开始说明Objective-C 基本的程序结构。#import <Foundation/Foundation.h>
@interface MyClass:NSObject
- (void) method;
@end
@implementation MyClass
- (void) method {
NSLog(@"Hello,OC!
");
}
@end
int main() {
/* 初始化 */
MyClass *myClass = [[MyClass alloc]init];
/* 调用方法 */
[myClass method];
return 0;
}终端输出结果:分析程序结构:#import <Foundation/Foundation.h>这是一段预处理指令,告诉OC编译器,在编译代码前加入Foundation 下的 Foundation.h文件@interface MyClass:NSObject
- (void)method;
@end这段代码以@interface开始以@end结尾,定义了一个接口(MyClass),这个接口继承NSObject这个类,NSObject类在OC中是所有类的基类。(优点类似与java中的基类Object,但是要注意任何类继承NSObject时必须加上":NSObject").其中 - (void)method; 是声明了一个 没有返回值的、不带参数的实例方法。"-" 是说明是这个类的实例方法,只有这个类的实例才能调用。声明方法还可以用 "+", "+"是说明是这个类的类方法,这个类可以调用。"(void)" 是说明这个方法的返回是是void(可以说是没有返回值)"method"是这个方法的名称。值得注意的是方法结尾没有一对括号,很多人刚开始时习惯加上()@implementation MyClass
- (void)method{
NSLog(@"Hello,OC!
");
}
@end这段代码以@implementation开始以@end结尾,定义了MyClass类,这个类是上面MyClass接口的实现类。这个类中的method方法是接口的实现方法。{}内是方法的实现内容,NSLog函数是个打印输出函数。int main() {
/* 初始化 */
MyClass *myClass = [[MyClass alloc]init];
/* 调用方法 */
[myClass method];
return 0;
}main函数,程序的入口。方法的调用方式: [实例 实例方法名]; [类名 类方法];分析 这段初始化方法MyClass *myClass = [[MyClass alloc]init];[MyClass alloc] 调用类方法,由这段代码可以猜出来,这个类方法返回值是个MyClass的实例,用指针变量*myClass 接收,接着这个实例调用 init 方法初始化了这个实例。这样写这个方法就好理解点:MyClass *myClass = [MyClass alloc];
[myClass init];[myClass method]调用实例方法。小结:一个基本的OC程序包含: 预处理指令,接口,实现类,方法,变量。Objective-C中@property的所有属性详解 http://www.linuxidc.com/Linux/2014-03/97744.htmObjective-C 和 Core Foundation 对象相互转换的内存管理总结 http://www.linuxidc.com/Linux/2014-03/97626.htm使用 Objective-C 一年后我对它的看法 http://www.linuxidc.com/Linux/2013-12/94309.htm10个Objective-C基础面试题,iOS面试必备 http://www.linuxidc.com/Linux/2013-07/87393.htmObjective-C适用C数学函数 <math.h> http://www.linuxidc.com/Linux/2013-06/86215.htm好学的 Objective-C 高清PDF http://www.linuxidc.com/Linux/2014-09/106226.htm本文永久更新链接地址:http://www.linuxidc.com/Linux/2015-07/120712.htm