Objective-C学习笔记(1) 基础知识
2012-07-17 20:14
363 查看
1. Objective-C是对C的扩展。也就是说,Objective-C包含了C语言的所有内容的同时,对于C进行了面向对象方面的扩充。这些扩充包括:
(1)定义类的方式。
(2)类方法的调用。也就是Objective-C中的消息。
(3)十几个关键字和编译器指令。
这些扩充的内容不多,但是却精巧而强大。语法的内容不是太多。
2. Objective-C中类的定义,包含两个部分,接口和实现。接口文件同c一样是以h为后缀,实现文件以m为文件后缀。
接口:
@interface className : superClass
{
//成员变量声明
//...
}
//成员方法生命
@end
实现:
@implementation calssName
@end
在Objective-C中,@开头的都是编译器指令。
3. Objective-C中,所有的对象都必须构造于堆上。所有的对象都继承自NSObject。
4. Objective-C中,调用某个类和对象的方法,需要通过消息来完成。消息不同于C中的函数调用,实际上消息机制本身才是一个函数调用。消息是在运行阶段来确定需要执行的代码,而函数调用在编译阶段就确定了代码的位置了。消息的写法是:[消息接受者 方法] 或者 [消息接受者 方法:参数]
5. id是一个特殊的类型,它用来表示一个对象的指针,特别的地方在于,id可以接受任何类型的对象指针。Objective-C通过id的使用来支持多态。
6. Objective-C中,对象的创建一般使用的是NSObject的alloc方法申请内存,用init方法完成初始化,用dealloc来完成内存的释放,同时使用引用技术来维护内存,这使用的是retain,release等方法。
7. Objective-C中的对象的名称是区分大小写的。依照惯例,对象名以小写字母开头。以"_"开头的方法视为保留供Apple内部使用的方法。
8. nil是一个定义的常量,表示指向没有对象的一个指针。在Objective中,想一个nil指针发送消息是合法的,不会引起崩溃。
9. SEL是一个表示Objective-C对象的方法的类型。
10. IMP可以理解为一个真实的函数指针的类型。
(1)定义类的方式。
(2)类方法的调用。也就是Objective-C中的消息。
(3)十几个关键字和编译器指令。
这些扩充的内容不多,但是却精巧而强大。语法的内容不是太多。
2. Objective-C中类的定义,包含两个部分,接口和实现。接口文件同c一样是以h为后缀,实现文件以m为文件后缀。
接口:
@interface className : superClass
{
//成员变量声明
//...
}
//成员方法生命
@end
实现:
@implementation calssName
@end
在Objective-C中,@开头的都是编译器指令。
3. Objective-C中,所有的对象都必须构造于堆上。所有的对象都继承自NSObject。
4. Objective-C中,调用某个类和对象的方法,需要通过消息来完成。消息不同于C中的函数调用,实际上消息机制本身才是一个函数调用。消息是在运行阶段来确定需要执行的代码,而函数调用在编译阶段就确定了代码的位置了。消息的写法是:[消息接受者 方法] 或者 [消息接受者 方法:参数]
5. id是一个特殊的类型,它用来表示一个对象的指针,特别的地方在于,id可以接受任何类型的对象指针。Objective-C通过id的使用来支持多态。
6. Objective-C中,对象的创建一般使用的是NSObject的alloc方法申请内存,用init方法完成初始化,用dealloc来完成内存的释放,同时使用引用技术来维护内存,这使用的是retain,release等方法。
7. Objective-C中的对象的名称是区分大小写的。依照惯例,对象名以小写字母开头。以"_"开头的方法视为保留供Apple内部使用的方法。
8. nil是一个定义的常量,表示指向没有对象的一个指针。在Objective中,想一个nil指针发送消息是合法的,不会引起崩溃。
9. SEL是一个表示Objective-C对象的方法的类型。
10. IMP可以理解为一个真实的函数指针的类型。
相关文章推荐
- Objective_C 基础知识学习笔记02
- Objective_C 基础知识学习笔记01
- Objective-c基础知识学习笔记
- 黑马程序员---Objective-C基础学习---类、对象、方法相关知识笔记
- Objective-C基础教程学习笔记(三)面向对象编程基础知识
- Oracle11g基础知识【SQL学习笔记】
- 【Java学习笔记】基础知识学习15【文本输入】
- ARM学习笔记——Linux基础知识
- 【2018.04.10学习笔记】【linux基础知识4.5-4.9】
- Angular 4 学习笔记 从入门到实战 打造在线竞拍网站 基础知识 快速入门 个人感悟
- 【2018.04.12学习笔记】【linux基础知识5.1-5.4】
- java虚拟机JVM学习笔记-基础知识
- 【Java学习笔记】基础知识学习19【一个大文件的复制方法】
- Android Map开发基础知识学习笔记
- 学习笔记(十一)——Linux Shell 基础知识
- java基础知识学习笔记(一)
- 学习笔记之C#类、循环中的语句、基础知识和异常处理
- Objective-C基础教程学习笔记(附录)从Java转向Objective-C
- 计算广告学习笔记1.6 广告的基础知识-计算广告核心问题和挑战
- Java学习笔记-《Java程序员面试宝典》-第四章基础知识-4.10多线程(4.10.1-4.10.4)