子类覆盖的父类中可能有一个类型吗?
这里的想法是有一个形状类,具有矩形、正方形、圆形等的子类。想知道是否可以覆盖父类中“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 模式方面没有经验,但如果存在的话,有人可以建议我看看的来源吗?
非常感谢!