与c/c++不一样的地方
1) .h 和 .m; .m是实现文件; #import导入头文件; @class类声明。
2) @property getter/setter申明; @synthesis getter/setter实现
3) @interface child:parent<protocol1, protocol2> 类声明
---只能单继承
---可以多个protocol; protocol中声明的接口必须全部实现
4) @interface ExistClass (newname) 分类,可以在无需改动ExistClass源码的情况下,给ExistClass增加接口。 分类中声明的无需全部实现。 分类中会覆盖ExistClass中相同声明的函数
5) 内存管理!!!!!!!!
6) 深浅复制
7) 函数声明 (return type) funcName:(arg1 type) arg1name[ andArg2desc:(arg2 type) arg2name]
8) 函数调用 funcName: arg1 [andArg2desc: arg2 ]
9) id, (void *)类型。 任意类型都可赋给id, 可给id发送消息、只要id所指向的对象实际能处理该消息即可
10) 定义对象类型变量时, 都是指针形式。 ClassName * obj;这样子
11) 序列化: 需要实现指定接口的函数即可序列化和反序列化。
http://wenku.baidu.com/view/92b7ce1c59eef8c75fbfb3d0.html?pn=NaNNaN