Object-cノート1
1151 ワード
(このノートは簡単な記録で、自分にしか見せません)
インタフェースの定義:
実装:
インスタンス化:
継承:Objective-Cでは1つのクラスしか継承できません
インタフェースの定義:
@interface Circle:NSObject
{
ShapeColor fillColor;
ShapeRect bounds;
}
-(void)setFillColor:(ShapeColor)fillColor;
-(void)setBounds:(ShapeRect)bounds;
-(void)draw;
@end
実装:
@implementation Circle
-(void)setFillColor:(ShapeColor)c
{
fillColor = c;
} //setFillColor
-(void)setBounds:(ShapeRect)b
{
bounds = b;
} //setBounds
-(void)draw
{
NSLog(@"drawing a circle at
(%d %d %d %d) in %@",
bounds.x,bounds.y,bounds.width,
bounds.height,colorName(fillColor));
}//draw
インスタンス化:
int main(int argc,const char* argv[])
{
id shape[1]; // id , 1 shapes
ShapeRect rect0 = {0,0,10,30}; // 4
shape[0] = [Circle new]; // Circle
[shapes[0] setBounds:rect0]; // Circle
[shapes[0] setFillColor:kRedColor];
[shapes[0] draw];
return (0);
}
継承:Objective-Cでは1つのクラスしか継承できません