***Student.h***
@interface Student : NSObject {
// 特征
// 成员变量可见度
// @public 级别最低,可通过对象->的方式找到成员变量,不安全
// @protected 没写可见度,默认是被保护的,被保护变量可在当前类和其子类中使用
// @private 私有的:只能在当前类中使用
// @package 这是系统文件使用的,直接跳过
NSString *_stuName;
NSString *_stuSex;
NSString *_stuHobby;
CGFloat _stuScore;
NSInteger _stuAge;
}
- (void)sayHi;
- (void)eat;
- (void)play;
// 对所有成员变量的赋值语句
// 只要有参数,就一定要假冒号,冒号相当于标识参数
// 在调用方法的时候我们通过参数形容词知道对应要填的参数,形参名是在方法实现时用的
- (void)setStuName:(NSString *)stuName
stuSex:(NSString *)sex
stuAge:(NSInteger)stuAge
stuHobby:(NSString *)stuHobby
stuScore:(CGFloat)stuScore;
// 设置器和访问器都针对一个成员变量进行值得存储和读取,当对多个成员进行操作时,称为赋值语句
// 设置器
- (void)setStuName:(NSString *)stuName;
- (void)setStuSex:(NSString *)stuSex;
- (void)setStuAge:(NSInteger)stuAge;
- (void)setStuHobby:(NSString *)stuHobby;
- (void)setStuScore:(CGFloat)stuScore;
// 访问器
- (NSString *)stuName;
- (NSString *)stuSex;
- (NSInteger)stuAge;
- (NSString *)stuHobby;
- (CGFloat)stuScore;
// 自定义初始化方法
// 方法必须以init开头,后跟一个With
- (id)initWithStuName:(NSString *)stuName
stuSex:(NSString *)stuSex
stuAge:(CGFloat)stuAge
stuScore:(CGFloat)stuScore;
// 方法分为两种,一种是+方法,称为类方法,这种方法一般是类进行使用,比如alloc
// 第二种为-方法,称为实例方法,一般对象来调用入sayHi,init
@end
***Student.m
@implementation Student
- (void)sayHi {
NSLog(@"\n%@ %@ %@ %g %ld", _stuName, _stuSex, _stuHobby, _stuScore, _stuAge);
}
- (void)eat {
NSLog(@"吃吃吃");
}
- (void)play {
NSLog(@"不约");
}
// 设置器
- (void)setStuName:(NSString *)stuName {
_stuName = stuName;
}
- (void)setStuSex:(NSString *)stuSex {
_stuSex = stuSex;
}
- (void)setStuAge:(NSInteger)stuAge {
_stuAge = stuAge;
}
- (void)setStuHobby:(NSString *)stuHobby {
_stuHobby = stuHobby;
}
- (void)setStuScore:(CGFloat)stuScore {
_stuScore = stuScore;
}
// 访问器
- (NSString *)stuName {
return _stuName;
}
- (NSString *)stuSex {
return _stuSex;
}
- (NSInteger)stuAge {
return _stuAge;
}
- (NSString *)stuHobby {
return _stuHobby;
}
- (CGFloat)stuScore {
return _stuScore;
}
// 初始化方法实现
- (id)initWithStuName:(NSString *)stuName
stuSex:(NSString *)stuSex
stuAge:(CGFloat)stuAge
stuScore:(CGFloat)stuScore {
_stuName = stuName;
_stuSex = stuSex;
_stuAge = stuAge;
_stuScore = stuScore;
return self;
}