函数成员:描述对象的行为
-方法
-初始化器 init
-析构器 dealloc
认识方法
函数:代码段上的可执行指令序列
全局函数(C语言)
成员函数(OC语言)
a 方法是类的成员函数,表达实例行为或类型行为
b 所有方法默认都是公有的方法,【没有private或protected 只要不在头文件声明就可以成为私有】
c 动态消息分发:方法调用通过运行时动态消息分发实现,在对象上调用方法又称“向对象发送消息”。
实例方法或类型方法
*实例方法-表达实例行为,可以访问
*实例成员(实例属性、实例变量、实例方法)
*类型方法、静态变量
类方法-表达类型行为,访问权限:
可以访问:类型方法、静态变量
不可以访问:实例成员(实例属性、实例变量、实例方法)
self指针 编译器在背后对print做了如下不同处理:
void print(BLNPoint *self)
{
NSLog(@"%d",self.x);//self 表达实例对象的指针
}
[p1 print];//print(p1)
类方法
BLointPoint *getOrignPoint()
{
self 表达当前的类 不表示实例
}
方法参数:
如果参数类型为值类型,则为传值方式,如果参数类型为引用类型,则为传指针方式
方法可以没有参数,也可以没有放回值。
如果方法有参数,方法名约定包含第1个参数名,从第二个参数名开始需要显示提供外部参数名。
调用时,第一个参数名忽略,但后面的参数名必须显示标明
(驼峰命名法)
了解动态方法调用机制-消息分发表
BLNPoint指针->methodLists->print地址 性能较低