1 #import <Foundation/Foundation.h>
2 //xieyi
3 @protocol showOn
4 @required
5 -(void)printOn;
6 @end
7 // lei
8 @interface MyPoint : NSObject<showOn,NSCopying>{
9 int x;
10 int y;
11 }
12 @property (nonatomic,assign)int x,y;
13 -(id)initWithX:(int)_x andY:(int)_y;
14 @end
15 // leibie fenlei
16 @interface MyPoint(MoveSet)
17
18 -(void)moveToX:(int)_x andY:(int)_y;
19
20 @end
21
22
23 #import "MyPoint.h"
24
25 @implementation MyPoint
26 @synthesize x,y;
27
28 -(id)initWithX:(int)_x andY:(int)_y{
29 if(_x==0)
30 x=1;
31 if(_y==0)
32 y=1;
33 x=_x;
34 y=_y;
35 return self;
36 }
37
38 -(id)copyWithZone:(NSZone *)zone{
39 MyPoint* newPoint=[[MyPoint allocWithZone:zone] initWithX:x andY:y];
40 return newPoint;
41 }
42
43 -(void)printOn{
44 NSLog(@" x = %d , y = %d ",x,y);
45 }
46
47 @end
48
49 @implementation MyPoint(MoveSet)
50
51 -(void)moveToX:(int)_x andY:(int)_y{
52 x=_x;
53 y=_y;
54 }
55
56 @end