ios Objective-C 4.0继承

2018-07-04  本文已影响5人  Lost_Robot

继承是在两个类之间建立关系的一种方式,它可以避免许多重复的代码。建立类之间的关系也可以通过复合的方式。

1.继承的语法和格式

@interface  Circle:NSObject

注意:

头文件:

@interface  Shape:NSObject{
    int  fillColor;
    int  bounds;
}
-(void) setFillColor:(int)fillColor;
-(void) setBounds:(int)bounds;
-(void) draw;
@end


@interface  Circle:Shape
-(void) setFillColor:(int)fillColor;
-(void) setBounds:(int)bounds;
-(void) draw;
@end

@interface  Rectangle:Shape
-(void) setFillColor:(int)fillColor;
-(void) setBounds:(int)bounds;
-(void) draw;
@end

实现文件:

@implementation  Shape
-(void) setFillColor:(int)color{
    
    fillColor = color;
    
};

-(void) setBounds:(int)bs{
    
    bounds = bs;
};

-(void) draw{
    
};
@end

@implementation  Circle
-(void) draw{
    
    NSLog(@"drawing a circle at (%d %d)",fillColor,bounds);
    
};
@end

@implementation  Rectangle
-(void) draw{
    
    NSLog(@"drawing a rectangle at (%d %d)",fillColor,bounds);
    
};
@end

2.相关术语

3.继承的工作机制

4.重写方法

当新类继承父类的时候,可以重写父类已经实现的方法,这样当新类的对象的方法调度机制将会运行新类中重写的方法。


@implementation  Circle
-(void) setFillColor:(int)color{

    int  kRed = 100;
    int  kGreenColor = 200;
    if(color == kRed){
        color = kGreenColor;
    }
    
    [super setFillColor:c]; 
    
};
-(void) draw{
    
    NSLog(@"drawing a circle at (%d %d)",fillColor,bounds);
    
};
@end

上一篇 下一篇

猜你喜欢

热点阅读