博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
objective-c 基本的程序结构
阅读量:6292 次
发布时间:2019-06-22

本文共 1414 字,大约阅读时间需要 4 分钟。

hot3.png

以一段程序开始

#import 
@interface MyClass:NSObject- (void) method;@end@implementation MyClass- (void) method {    NSLog(@"Hello,OC!\n");}@endint main() {    /* 初始化 */    MyClass *myClass = [[MyClass alloc]init];        /* 调用方法 */    [myClass method];    return 0;}

175549_qMQB_206356.png

终端输出结果:175752_nw2V_206356.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程序包含: 预处理指令,接口,实现类,方法,变量。

转载于:https://my.oschina.net/u/206356/blog/207808

你可能感兴趣的文章
腾讯云下安装 nodejs + 实现 Nginx 反向代理
查看>>
Javascript 中的 Array 操作
查看>>
java中包容易出现的错误及权限问题
查看>>
AngularJS之初级Route【一】(六)
查看>>
服务器硬件问题整理的一点总结
查看>>
SAP S/4HANA Cloud: Revolutionizing the Next Generation of Cloud ERP
查看>>
Mellanox公司计划利用系统芯片提升存储产品速度
查看>>
白帽子守护网络安全,高薪酬成大学生就业首选!
查看>>
ARM想将芯片装进人类大脑 降低能耗是一大挑战
查看>>
Oracle数据库的备份方法
查看>>
Selenium 自动登录考勤系统
查看>>
关于如何以编程的方式执行TestNG
查看>>
智能照明造福千家万户 家居智能不再是梦
查看>>
物联网如何跳出“看起来很美”?
查看>>
浅谈MySQL 数据库性能优化
查看>>
《UNIX/Linux 系统管理技术手册(第四版)》——1.10 其他的权威文档
查看>>
灵动空间 创享生活
查看>>
《UNIX网络编程 卷1:套接字联网API(第3版)》——8.6 UDP回射客户程序:dg_cli函数...
查看>>
不要将时间浪费到编写完美代码上
查看>>
《算法基础:打开算法之门》一3.4 归并排序
查看>>