关闭

Objective-C 编程全解-第02章 Objective-C程序设计

标签: 消息表达式消息选择器实例变量的生成和初始化类的定义
247人阅读 评论(0) 收藏 举报
分类:

02 Objective-C程序设计

2.1 对象和消息

2.1.1 消息表达式

    消息表达式(message expression):

        id obj;

        [obj msg];//消息表达式,obj为消息接收者。

    消息是由消息关键字(message keyword)组成的,消息关键字的命名规则同变量名的命名规则一样。同函数调用一样,消息中也可以带有参数。没有参数的消息只有消息名。

    消息关键字的末尾有”:”时,表示这个消息带有参数。

    发送带有多个参数的消息的时候,可以通过多个关键字:变量的写法完成调用。另外,也可以省略关键字而只是通过将变量连接起来,如:

        - (void)testFun:(NSString*)str1 :(NSString*)str2

        {

            NSLog(@"%@%@",str1,str2);

        }

        [self testFun:@"one" :@"two"];


2.1.2 消息选择器

    函数是通过函数名来区分的,消息则是通过消息名来区分的。消息名又称为消息选择器(message selector)、选择器(selector)或方法(method)。


2.1.3 实例变量的生成和初始化


    实例的生成:

        [类名 alloc]

    alloc执行后即可完成对象所需要的存储空间的分配,但还没有对对象进行初始化。初始化对象用的方法叫做初始化方法(initializer)。不同的类会提供不同的初始化方法,同一个类也可能提供多个初始化方法。


2.2 类的定义

2.2.1 类的接口声明

    ObjectiveC中接口(interface)和实现(implementation)是分离开的。

    类接口的声明以编译指令@interface开始并以@end结束,所有的ObjectiveC编译指令(compiler directive)都是以@字符开头。

    BOOLObjectiveC的布尔类型,它的值为真值常量YES(非0)和假值常量NO0)。ObjectiveCBOOL并不是一个基本类型,他是无符号char的一个typedef(别名)。


2.2.2 类的实现

    类的实现部分以编译指令@implementation开始,以@end结束。

    方法内部可以自由使用类的实例变量。


2.3 编译

2.3.1 简单的编译方法

    ObjectiveC是使用C语言编译器clang来编译代码的。


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:72669次
    • 积分:2374
    • 等级:
    • 排名:第16379名
    • 原创:170篇
    • 转载:5篇
    • 译文:5篇
    • 评论:1条