术语
类(class):表示对象类型的结构体,首字母大写;
对象(object):首字母小写;
实例(instance):即为“对象”;
消息(message):对象可执行的操作,例如:[shape draw],通过shape对象发送draw消息通知对象来绘制自身;
方法(method):响应消息,根据对象的类,消息调用不同的方法(代码);
方法调度(method dispatcher):一种机制,用来推测执行什么样的方法响应特定的消息;
接口(interface):类为对象提供的特性描述;
实现(implementation):接口具体工作的代码;
思想:
过程式编程:函数第一,数据第二;
面向对象编程:数据第一,过程第二;
防御式编程(defensive programming):即对一些可能超出范围等操作进行保护;
存取(accessor)方法:即为外部对象提供改变属性的途径,也保护实例变量本身。包括:setter和getter方法;
常识:
.m object-c源文件
.mm objective-c++源文件
int %i
(CG)float %f
double %e或者%g
char %c
-(void):
- 通知编译器,表示该方法是一个实例方法
+(void)
+ 类方法,对类本身执行某些操作的方法
@synthesize window=_window; 意思是说,window 属性为 _window 实例变量合成访问器方法。
也就是说,window属性生成存取方法是setWindow,这个setWindow方法就是_window变量的存取方法,它操作的就是_window这个变量。通过这个看似是赋值的这样一个操作,我们可以在@synthesize 中定义与变量名不相同的getter和setter的命名,籍此来保护变量不会被不恰当的访问。详细网址:http://moto0421.iteye.com/blog/1577459