您的位置:首页 > 移动开发 > IOS开发

iOS前期OC训练OC_02继承,便利构造器,初始化方法

2015-07-16 20:57 459 查看
//

// main.m

// OC03_继承,
便利构造器,初始化方法

//

// Created by dllo on 15/7/16.

// Copyright (c) 2015年 Clare. All rights reserved.

//

#import <Foundation/Foundation.h>

#import "RoadblockZombie.h"

#import "MetalbuckZombie.h"
int main(int argc,const
char * argv[]) {

//继承:子类会继承父类所有的特征还有行为

//当对象在执行方法的时候,子类重写了父类的方法,系统会优先使用子类的方法,如果没有重写,则用父类的方法
Zombie *zom = [[Zombiealloc]
init];
[zomwalk];
[zomattack];
[zomdead];

RoadblockZombie *rbZom = [[RoadblockZombiealloc]
init];
[rbZomwalk];
[rbZomattack];
[rbZomlostEquipment];
[rbZomdead];

MetalbuckZombie *mbZom = [[MetalbuckZombiealloc]
init];
[mbZomwalk];
[mbZomattack];
[mbZomlostEquipment];
[mbZomdead];

//继承是单向的,一个类只能有一个父类,但是一个父类可以有无数个子类

// NSObject是所有类的父类,也可以成为基类

//类的继承是有传递性的
return
0;
}

//

// Zombie.h

// OC03_继承,
便利构造器,初始化方法

//

// Created by dllo on 15/7/16.

// Copyright (c) 2015年 Clare. All rights reserved.

//

#import <Foundation/Foundation.h>

@interface Zombie :NSObject

// 特征
{
NSInteger _blood;
NSInteger _attack;
CGFloat _speed;
}

// 行为

// 走
- (void)walk;
- (void)attack;
- (void)dead;

@end

//

// Zombie.m

// OC03_继承,
便利构造器,初始化方法

//

// Created by dllo on 15/7/16.

// Copyright (c) 2015年 Clare. All rights reserved.

//

#import "Zombie.h"

@implementation Zombie
- (void)walk
{

NSLog(@"小心!商帅正在尸变");
}
- (void)attack
{

NSLog(@"注意!尸变的商帅正在向我方爬来");
}
- (void)dead
{

NSLog(@"恭喜!尸变后的商帅正在响应天国的召唤");
}

@end

//

// RoadblockZombie.h

// OC03_继承,
便利构造器,初始化方法

//

// Created by dllo on 15/7/16.

// Copyright (c) 2015年 Clare. All rights reserved.

//

#import <Foundation/Foundation.h>

#import "Zombie.h"
@interface RoadblockZombie :Zombie

// 特征
{

//子类只需要写自己特有的特征就可以,其余的特征,都会继承
NSString *_equipment;
// 装备
}

// 行为

// 走

// 对方法的重写
- (void)walk;
- (void)attack;
- (void)dead;
- (void)lostEquipment;

@end

//

// RoadblockZombie.m

// OC03_继承,
便利构造器,初始化方法

//

// Created by dllo on 15/7/16.

// Copyright (c) 2015年 Clare. All rights reserved.

//

#import "RoadblockZombie.h"

@implementation RoadblockZombie
- (void)walk
{

NSLog(@"我去!升级版的商帅居然正在往这爬!");
}
- (void)attack
{

NSLog(@"商帅正在使用技能脏对你造成伤害!");
};
- (void)dead
{

NSLog(@"升级版的商帅终于投奔主的怀抱了!");
};
- (void)lostEquipment
{
_speed =
100;

NSLog(@"商帅的脸掉了!!!");
}

@end

//

// MetalbuckZombie.h

// OC03_继承,
便利构造器,初始化方法

//

// Created by dllo on 15/7/16.

// Copyright (c) 2015年 Clare. All rights reserved.

//

#import "RoadblockZombie.h"

@interface MetalbuckZombie :RoadblockZombie
{
NSString *_weakness;
// 弱点
}
- (void)walk;
- (void)attack;
- (void)dead;
- (void)lostEquipment;

@end

//

// MetalbuckZombie.m

// OC03_继承,
便利构造器,初始化方法

//

// Created by dllo on 15/7/16.

// Copyright (c) 2015年 Clare. All rights reserved.

//

#import "MetalbuckZombie.h"

@implementation MetalbuckZombie
- (void)walk
{

// super的作用就是寻找继承过来的方法,并且执行该方法
[superwalk];

NSLog(@"偶滴神呀!商帅和朱家琪的合体终极版商帅爬过来了!");
}
- (void)attack
{

NSLog(@"终极版商帅正在发大招使用技能脏和不要脸对你造成伤害!");
};
- (void)dead
{

NSLog(@"Thanks Gad!终极版的商帅终于拜拜了!");
};
- (void)lostEquipment
{
_speed =
100;

NSLog(@"商帅的脸掉了!我去!居然还有第二张!!!");
}

@end
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: