【发布时间】:2013-07-20 08:04:33
【问题描述】:
父类中可能有一个类型被子类覆盖?
这里的想法是有一个形状类,有矩形、正方形、圆形等的子类。想知道是否可以覆盖父类中'shapeType' int 属性的定义。像这样?
例如在 globals.h 中
#define kShapeType_Rectangle = 1
#define kShapeType_Square = 2
#define kShapeType_Triskaidecagon = 13 // try pronouncing this!
形状.h
@interface shape : NSObject
@property int shapeType;
@property int shapeID;
@property UIColor shapeColor;
@end
....
在矩形.h中
#import globals.h
@interface rectangle : shape
@property static (nonatomic, readonly) int shapeType = kShapeType_Rectangle; // how do I get this working?
@end
所以两个问题:
1) 这样的事情是否可能 - 即将父属性重新声明为静态变量
2) 是或否 (1),这是处理这类事情的最佳编码风格吗?我在 Obj-C 模式方面没有经验,但如果有的话,有人可以建议我看看的来源吗?
非常感谢!
【问题讨论】:
-
嗨@Lucas,为什么'objective c'位从主题中删除?抱歉,还是个伪 stackoverflow 新手……
-
标题本身不需要。它在标签中列出。第一个标签也显示在网站标题中。 @snowbound
标签: objective-c inheritance concept