首页 > 代码库 > 面向对象编程

面向对象编程

Objective-C中的对象

Objective-C提供了一种单独的数据类型:id。它指向与它所属的类无关的任何对象类型,并且可以指代实例和类自身。

Objective-C中id的定义:

1 typedef struct objc_class *Class;2 struct objc_object {3    Class isa; 4 };5 typedef struct objc_object *id;

消息传递与动态机制

Objective-C中方法的概念是使用消息传递(message passing)系统实现的。这实际是指编译器不会生成直接在内存中调用对象方法的代码。

编写Objective-C代码

Objective-C中所有的对象都是指针类型。你永远不要单独使用String, 而是应该使用String *.所有的Objective-C对象都是在堆中分配内存的,而不是在栈中分配(也并非全部)

+alloc方法被发送给class对象,使之在堆中分配该类的新实例。之后这个实例需要使用-init方法初始化。

发送消息:

[anObject setPosition: pos size: size];

对应的C风格:

anObject.setPositionAndSize(pos, size);

LLVM: Low Level Virtual Machine

属性是指在对象外能够通过调用特定的getter和setter接口进行访问和修改的一块数据。

协议

面向对象编程