类型成员的分类
- 数据成员(描述对象的状态)
实例变量、属性 - 函数成员(描述对象行为)
方法、初始化器、析构器
数据成员
- 属性
属性表达实例状态,描述类型对外接口。
在默认情况下,定义一个属性之后,编译器会为该对象额外完成如下操作:
1.一个getter访问器方法:propertyName;
2.一个setter访问器方法:setPropertyName;
3.一个实例变量:_propertyName;
ps.可以自定义实例变量、getter和setter访问器。
pss.如果同时自定义了getter和setter访问器,或者对只读属性定义了getter访问器,则不再自动合成实例变量。
- 实例变量
可以只定义实例变量而不定义属性。只有实例变量,没有类变量。
函数成员
- 方法
1.表达实例或类型行为;
2.所有方法默认为公有方法,没有private或者protected方法;
3.动态消息分发:方法通过调用运行时动态消息分发实现,在对象上调用方法又称为向对象发送消息。
方法的分类
方法的参数
-
初始化器
初始化器用于初始化实例或者类型,是一个特殊的方法。
1.对象初始化器:-(id) init 可以重载多个
2.类型初始化器(只能有一个):+(void)initialize。
-
析构器