Object-cノート1

1151 ワード

(このノートは簡単な記録で、自分にしか見せません)
インタフェースの定義:
@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つのクラスしか継承できません