71,类的继承性

来源:互联网 发布:java future get 阻塞 编辑:程序博客网 时间:2024/05/29 04:40

#import <Foundation/Foundation.h>

/*

 1,继承:若A类继承B类,那么,A类就拥有B类的所有的属性(成员变量)和方法(类方法和对象方法)。

 注:A类称为子类,B类成为父类

    A类除了继承B类的所有的属性与方法外,还可以自定义(添加)属性与方法

 2,好处:提高了代码的复用性;实现了多态

 3,如果子类中有父类同名的方法,称为方法重写

 注意:

 1)方法重写包括类方法重写与对象方法重写

 3)成员变量不能重写

 2)继承中的方法调用顺序,如果自己有就调用自己的,没有的话,就往上父类找,直到找到基类为止,若基类仍然找不到对应的方法,那么,程序就会报错。

 */


@interface Phone : NSObject

{

    int _cpu;

}


-(void)signalWithNumber:(NSString *)number;

+(void)brand;

@end


@implementation Phone


-(void)signalWithNumber:(NSString *)number{

    NSLog(@"Phone打电话给 %@",number);

}

+(void)brand{

    NSLog(@"Phone品牌");

}


@end


@interface Android : Phone


-(void)setCpu:(int)cpu;

-(int)cpu;


@end


@implementation Android


-(void)setCpu:(int)cpu{

    _cpu = cpu;

}

-(int)cpu{

    return _cpu;

}


-(void)signalWithNumber:(NSString *)number{

    NSLog(@"Android打电话给 %@",number);

}

+(void)brand{

    NSLog(@"Android品牌");

}


@end


@interface Iphone : Phone


-(void)setCpu:(int)cpu;

-(int)cpu;


@end


@implementation Iphone


-(void)setCpu:(int)cpu{

    _cpu = cpu;

}

-(int)cpu{

    return _cpu;

}

-(void)signalWithNumber:(NSString *)number{

    NSLog(@"Iphone打电话给 %@",number);

}

+(void)brand{

    NSLog(@"Iphone品牌");

}


@end


int main(int argc,constchar * argv[]) {

    @autoreleasepool {

        Android *android = [Androidnew];

        android.cpu = 10;

        NSLog(@"android's cpu = %i",android.cpu);

        [android signalWithNumber:@"13411379410"];

        [Android brand];

        

        Iphone *iphone = [Iphonenew];

        iphone.cpu = 20;

        NSLog(@"iphone's cpu = %i",iphone.cpu);

        [iphone signalWithNumber:@"12123233"];

        [Iphone brand];

    }

    return 0;

}


//2015-12-07 13:20:44.996 4,继承[1015:58588] android's cpu = 10

//2015-12-07 13:20:44.997 4,继承[1015:58588] Android打电话给 13411379410

//2015-12-07 13:20:44.997 4,继承[1015:58588] Android品牌

//2015-12-07 13:20:44.997 4,继承[1015:58588] iphone's cpu = 20

//2015-12-07 13:20:44.997 4,继承[1015:58588] Iphone打电话给 12123233

//2015-12-07 13:20:44.997 4,继承[1015:58588] Iphone品牌

//Program ended with exit code: 0

0 0
原创粉丝点击