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

来源:互联网 发布:芒果网络考试系统 3.9 编辑:程序博客网 时间:2024/06/01 08:15

//

//  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,constchar * 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是所有类的父类,也可以成为基类

    //类的继承是有传递性的

   return0;

}


//

//  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
原创粉丝点击