linux 程序结构,Objective-C 基本的程序结构

以一段程序开始说明Objective-C 基本的程序结构。

#import

@interface MyClass:NSObject

- (void) method;

@end

@implementation MyClass

- (void) method {

NSLog(@"Hello,OC!\n");

}

@end

int main() {

/* 初始化 */

MyClass *myClass = [[MyClass alloc]init];

/* 调用方法 */

[myClass method];

return 0;

}

4892853541c40a320f69ba547c5b1bf1.png

终端输出结果:

fccd30444512f49fd6450918a67911e7.png

分析程序结构:

#import

这是一段预处理指令,告诉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!\n");

}

@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程序包含: 预处理指令,接口,实现类,方法,变量。

0b1331709591d260c1c78e86d0c51c18.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值