一、实例变量的可见度 (-实例对象) 安全性
在oc里面,所有的实例对象默认的可见度是受保护的,protected指的是本类和子类;
具有继承关系的两个类,子类可以拥有父类的一切(包括他所有的实例变量和方法),除了父类中的私有变量和私有方法。
实例变量指的是实例对象的成员变量
子类可以继承父类所有的方法
二、方法
OC中的方法分两种:类方法和实例方法。 类方法:只能类使用,例如:+(id)alloc 注:类方法中不能使用实例变量
便利构造器是类方法 实例方法:只能对象使用,例如: -(void)sayHi
-(void)replaceObjectAtIndex:(NSUInteger) index withObject:(id)anObject
// 无参数无返回值的方法
// @selector (say) -( void )say; // 有一个参数无返回值的方法
// @selector (say:)
-( void )say:( NSString *)contect; // 有两个参数无返回值的方法
// @selector (say::)
-( void )say:( NSString *)contect :( NSString *)title; // 有两个参数无返回值的方法
// @selector (say:withTitle:)
-( void )say:( NSString *)contect withTitle:( NSString *)title; // 有三个参数无返回值的方法
// @selector (say:::)
-( void )say:( NSString *)contect :( NSString *)title:( NSString *)date;
三、类的组合使用
-(id)init 这个最简单的自定义初始化方法只能给实例变量设置默认值,不灵活。 -(id)initWithName: 自定义初始化方法,根据需求定义参数初始化值。
初始化方法的特点 :1. - ,2. instancetype /id 3. 一定以init开头;
实现初始化方法: } self = [super init]; 为了保证默认初始值完整
return self ;}
所有的的实例对象只初始化一次,只销毁一次。
可见度 | 特点 |
public(公有的) | 实例变量可以在类的外部和内部操作 |
protected(受保护的,默认的) | 实例变量只能在该类和其子类内操作 |
private(私有的) | 实例对象只能在该类内访问 |
具有继承关系的两个类,子类可以拥有父类的一切(包括他所有的实例变量和方法),除了父类中的私有变量和私有方法。
实例变量指的是实例对象的成员变量
子类可以继承父类所有的方法
二、方法
OC中的方法分两种:类方法和实例方法。 类方法:只能类使用,例如:+(id)alloc 注:类方法中不能使用实例变量
便利构造器是类方法 实例方法:只能对象使用,例如: -(void)sayHi
-(void)replaceObjectAtIndex:(NSUInteger) index withObject:(id)anObject
// 无参数无返回值的方法
// @selector (say) -( void )say; // 有一个参数无返回值的方法
// @selector (say:)
-( void )say:( NSString *)contect; // 有两个参数无返回值的方法
// @selector (say::)
-( void )say:( NSString *)contect :( NSString *)title; // 有两个参数无返回值的方法
// @selector (say:withTitle:)
-( void )say:( NSString *)contect withTitle:( NSString *)title; // 有三个参数无返回值的方法
// @selector (say:::)
-( void )say:( NSString *)contect :( NSString *)title:( NSString *)date;
三、类的组合使用
-(id)init 这个最简单的自定义初始化方法只能给实例变量设置默认值,不灵活。 -(id)initWithName: 自定义初始化方法,根据需求定义参数初始化值。
初始化方法的特点 :1. - ,2. instancetype /id 3. 一定以init开头;
实现初始化方法: } self = [super init]; 为了保证默认初始值完整
return self ;}
所有的的实例对象只初始化一次,只销毁一次。