实例变量:实例后才能使用的方法
☆类方法
id : 对象类型(只要继承NSObject 的类型,都可以使用)
+ (void)sum:(int)num1 andNum2:(int)num2;
☆实例方法
类方法和实例方法唯一区别是调用者不同
无论是 类方法 还是 实例方法
[receirver message]; 消息机制---------给 receiver 发送了一个message 消息
oc 多参
//方法名称:(int)setScore:(float)score;
(void)setScore:(int)score;方法名相同
setName:sex:age:
//初始化方法
//只调用一次 在创建对象的时候调用
//是一个实例方法 返回值是 id 类型
//以init开头
//初始化方法的作用:创建对象的同时,给对象相应的赋值(为实例变量赋值)
self.相当于this.表示当前的。
- (id)initWithName:(NSString *)name age:(int)age
{
self = [superinit];//调用父类的初始化方法。初始化父类里面的变量---
if (self)
{
[self setName:name andAge:age];
// [self setName:name];
// [self setAge:age];
//
}
returnself;
}
在初始化的时候,父类的实例变量有父类的方法来初始化,子类的变量有子类本身初始化。
- (id)initWithName:(NSString *)name age:(int)age num:(int)num school:(NSString *)school
{
//第一步调用父类的 初始化方法 为继承过来的变量赋初值
self = [super initWithName:name age:age];
if (self) {//第二步 为自己独有的变量 赋初值
[self setNum:num];
[self setShool:school];
}
returnself;//第三步返回对象
}
初始化方法:1.调用父类的初始化方法2给自己特有的变量进行初始化,返回对象。
//副方法
- (id)initWithName:(NSString *)name
{
// self = [super init];
// if (self) {
// [self setName:name];
// }
// return self;
return [self initWithName:name age:0];
}
//主方法 //指定初始化方法: //公共代码//多个方法都调用这一个方法。一般参数比较多。
- (id)initWithName:(NSString *)name age:(int)age
{
self = [super init];
if (self)
{
[self setName:name andAge:age];
// [self setName:name];
// [self setAge:age];
//
}
returnself;
}
便利构造器---------------类名开头
//便利构造器
//类方法 返回值id 类名开头
+ (id) personWithName:(NSString *)name age:(int)age
{
Person *p = [[Personalloc]initWithName:name age:age];//初始化一个person 类型的对象
return p;
}
初始化方法和便利构造器的却不
作业-----------------------------------------------------------//为上次作业中的15个类:添加初始化方法,指定初始化方法 ,添加便利构造器-----------------------------------------