IOS/OC 记录二 方法,继承,特殊方法
方法结构:
- / + (返回值类型)方法名;
- 号方法:使用对象调用 称为实例方法
+号方法:使用类调用 称为类方法
方法名判断:
1.去掉- / +
2.去掉返回值类型
3.去掉参数类型和参数名
4.去掉分号
剩下的所有的内容是方法名;
面向对象三大特征:封装,继承,多态;
//记录
.h
//方法的结构
//- 或者 + (返回值)方法名;
- (void)study;
+ (void) sleep;
//-号方法: 使用对象调用 称为实例方法
//+号方法: 使用类调用 称为类方法
//1.带返回值的方法
- (NSString *)getName;
//2.带参数的方法
//- 或者 + (返回值类型)方法名:(参数类型)参数名;
- (void)eat:(NSString *)food; //只带一个参数
//3.带多个参数
//- 或 + (返回值类型)方法名:(参数类型)参数名(空格)方法名:(参数类型)参数名;
- (void)kickAss:(NSString *)name withPeople:(NSString *)name2;
.m
-(返回值类型)方法名
{
//实例方法中,可以使用类的实例变量
}
+(返回值类型)方法名
{
//在类的方法中,不可以使用实例变量
}
//1.只能有一个返回值
//2.返回值类型和返回的值的类型(int)/(NSString *)
- (NSString *)getName
{
return _name;
}
- (int)getAge
{
return _age;
}
- (NSString *)kickAss:(NSString *)name people:(NSString *)name2
{
//方法传入的参数(name,name2)只在方法内部可以使用,在其他方法或者main.m中都不可以调用
//方法名不可以重复
NSLog(@"%@,%@",name,name2);
}
main.m
//-号方法的调用
Student * stu = [[Student alloc] init];
[stu study]; //对象调用
//+号方法的调用
[Student sleep]; //类调用
[stu kickAss:@"啊啊啊" withPeople:@"噢噢噢"]; //多参数
//继承
.h
- (id)initWithName:(NSString *)name sex:(NSString *)sex age:(int)age money:(float)money;
.m
//初始化方法是一个实例方法,返回值为id(代表任何对象类型),方法名以init开头 只在初始化的时候调用一次
- (id)init //id:代表任何对象
{
//利用super关键字 调用父类的init方法 作用:用于初始化从父类继承过来的实例变量
//利用self(代表自己类的一个对象) 接受super初始化好的对象
self = [super init]; //self代表当前类的一个对象
//如果上面初始化不成功,self就为nil(空)
if (self) {
//如果成功,在判断体中初始化自己的实例变量
_name = @"龙龙君";
_sex = @"公";
_age = 22;
_money = 100;
}
//返回初始化好的对象.
return self;
}
main.m
Abc * abc = [[Abc alloc]initWithName:@"安" sex:@"女" age:10 money:100];
子类.h
@interface 子类名 : 父类名 //确定继承关系
//继承: 子类会继承父类所有的 实例变量 和 方法
//子类可以重写父类的方法
//可以在子类重写的方法中,调用父类的方法
子类.m
- (返回值类型)方法名
{
[super 方法名]; //调用父类的方法刷卡 super关键字只有一个作用,用于子类中调用父类的方法
}
//对父类的方法进行重写
//子类的方法优先级最高
子类main.m
Abc2 * abc2 = [[Abc2 alloc] init];
abc2->_name = @"呵呵";
[子类名 方法名];
//作业
打僵尸。需求:
定义普通僵尸类:实例变量:僵尸种类、僵尸总血量、僵尸每次失血量。方法:初始化、被打击失血、死亡。
定义路障僵尸类:实例变量:僵尸种类、僵尸总血量、僵尸每次失血量,道具,弱点。方法:初始化、被打击失血、失去装备、死亡。
定义铁桶僵尸类:实例变量:僵尸种类、僵尸总血量、僵尸每次失血量,道具,弱点。方法:初始化、被打击失血、失去装备、死亡。
For循环 模拟攻击,创建3个僵尸对象。
(1)、普通僵尸。总血量50,每次失血3.
(2)、路障僵尸。总血量80,有路障时,每次失血2,血量剩余一半时,失去路障,每次失血3.
(3)、铁桶僵尸。总血量120,有铁桶时,每次失血1,血量剩余1/3时,失去铁桶,每次失血3.
循环攻击过程中:每个僵尸被攻击时,输出本次丢失血量,剩余血量。丢失道具时,输出丢失的道具。僵尸死亡时,输出已死亡。
最后一个僵尸死亡时,攻击停止,循环结束。输出总攻击次数。
本文出自 “学员园” 博客,谢绝转载!
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。