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

//

//  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




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值