《OC基础教程》读书笔记3-继承

来源:互联网 发布:淘宝上的猛犸象牙牌子 编辑:程序博客网 时间:2024/06/05 20:41

OC中继承使用":",如:NSObject 表示继承自NSObject类。单继承,即只有一个父类。

父类Shape::

//Shape.h

@interface Shape:NSObject{

    NSString* fillColor;

}

-(void)setFillColor:(NSString *)color;

-(void)draw;

@end


//Shape.m

@impementation Shape

-(void)setFillColor:(NSString *)color{

    fillColor = color;

}

-(void)draw{

}

@end


子类Circle

//Circle.h

@interface Circle:Shape{

    int radius;

}

-(void)setRadius:(int)r;

@end


//Circle.m

@implementation Circle

-(void)setRadius:(int)r{

    radius = r;

}

//重写draw方法,不需要任何关键字

-(void)draw{

    NSLog(@"draw circle, fillColor is %@ and radius is %d", fillColor, radius);

}

@end;


//另一个子类Rectangle

//Rectangle.h

@interface Rectangle:Shape

@end;


//Rectangle.m

@implementation Rectangle

-(void)draw{

    NSLog(@"draw rectangle");

}

@end


实例化

Circle * c = [Circle new];

[c setFillColor:@"red"];

[c setRadius:10];

[c draw];


Rectangle *r = [Rectangle new];

[r draw];

原创粉丝点击