@public
1.公开的,公共的,可以在类的内部和外部访问.
2.类的内部:实例变量名
3.类的外部:对象->实例变量名
@protected
1.受保护的,只能在本类和子类中可以访问
2.类的内部:实例变量名
3.类的外部:通过设置器setter和访问器getter访问
@private
1.私有的,只能在本类中可以访问
2.类的内部:实例变量名
3.类的外部:通过设置器setter和访问器getter访问
总:@public 在所有文件均可访问.@protected只能在本类和子类中可以访问@priavte只能在本类中可以访问
设置器 setter
1.setter 一定是对象方法,以-开头
2.返回值一定是void
3.一定以set开头,后跟实例变量名去除_,实例变量名首字母大写.如:setAge
4.一定要有参数,参数类型必须和实例变量的类型一致,参数名为实例变量名去除_
NSInteger _age
-(void)setAge:(NSInteger)age;
访问器 getter
1.getter 一定是对象方法,以-开头
2.一定有返回值,返回值类型和实例变量的类型一致
3.方法名只为实例变量名去除_即可.如:age
NSInteger _age
-(NSInteger)Age;
-----------------------------------------------------------------------------------------------------------------------------------------
封装
目的:为了实现高类聚.低耦合.为了隐藏数据,只能通过此类的方法才可以访问,修改数据.不被外界随意修改,降低误用性.
类聚:模块成员之间的关系程度.
耦合:模块之间的关系程度.
-----------------------------------------------------------------------------------------------------------------------------------------
对象方法 +
在对象方法中能够使用实例对象
对象方法只能由对象调用 [对象名 方法]
类方法 -
在类方法中不能使用实例变量,因为类方法由类来调用.并没有创建储存空间.
类方法只能由类来调用 [类 方法]
类方法的好处:不依赖对象,执行效率高,尽量使用类方法
类方法的场合:方法中不需要实例方法的时候,使用类方法更简洁
-----------------------------------------------------------------------------------------------------------------------------------------
提取方法名
-(void)say:(NSString)name; //方法名为say:
-(void)say:(NSString *)name withCount:(NSInteger)count; //方法名为say:withCount:
去除-(+)
去掉返回值
去掉参数类型和参数名
版权声明:本文为博主原创文章,未经博主允许不得转载。