@protocol Shape
@property int lineCount;
-(int) getArea;
@end
@interface Square : NSObject<Shape>
@property int sideLength;
@property int lineCount;
-(id) initWithSideLength: (int) sideLength;
@end
@implementation Square
-(id) initWithSideLength: (int) sideLength {
self = [super init];
if (self) {
self.sideLength = sideLength;
self.lineCount = 4;
}
return self;
}
-(int) getArea {
return self.sideLength * self.sideLength;
}
@end
Square *square = [[Square alloc] initWithSideLength: 5];
int area = [square getArea];
//area is 25