@interface Shape : NSObject
@property int lineCount;
-(id) initWithLineCount: (int) lineCount;
@end
@interface Square : Shape
@property int sideLength;
-(id) initWithSideLength: (int) sideLength;
@end
@implementation Shape
-(id) initWithLineCount: (int) lineCount {
self = [super init];
if (self) {
self.lineCount = lineCount;
}
return self;
}
@end
@implementation Square
-(id) initWithSideLength: (int) sideLength {
self = [super initWithLineCount:4];
if (self) {
self.sideLength = sideLength;
}
return self;
}
@end
Square_1 *square = [[Square_1 alloc] initWithSideLength:5];
//square.lineCount is 4n is "unknown"