一 实例变量可见度
所谓的内部,指的是相应类@implementation…@end之间
@interface Person : NSObject
{
//声明实例变量
@public;
NSString *_addstress;
NSString *_hobby;
@protected; //只有自己和子类可以访问 , 什么都不写的话,默认protected
NSString *_name;
int _age;
@private;
NSString *_gender; //性别
}
1)简介
OC中的方法有两种:类方法和实例方法
类方法:只能类使用,例如: +(id)alloc
注意:类方法中不能使用实例变量
实例方法:只能对象使用,例如: -(void)sayHi;
2)方法的声明
方法名(replaceObjectAtIndex)需注意的地方
1)类中不能出现同名方法
2)' : '标识参数,不能省略. 有冒号必须有参数.
3)方法中的赋值 , 取值方法
//声明给name 赋值的方法
- (void)setName:(NSString *)newname;
//声明获取name值的方法
- (NSString *)getName;
//多参数的方法
- (void)setName:(NSString *)name
age:(int)age
gender:(NSString *)gender;
//声明自定义初始化方法 ◀️
//instancetype 代表任意类型
- (instancetype)initWith:(NSString *)name
score:(CGFloat)score;
//实现自定义初始化方法
- (instancetype)initWithName:(NSString *)name
score:(CGFloat)score
className:(NSString *)className
height:(CGFloat)height
{
//1. 先去使用去父类继承过来的方法
self = [super initWith: name score:score]; //super 表示父类继承过来的方法 , self 表示自己的方法
//2.判断初始化是否成功,成功后在初始化自己的实例变量
if (self) { //判断是否存在 if(self !=nil)
_className = className;
_height = height;
}
//3.返回
return self;
}