Objective-C之OOP知识

1.创建一个类

// Super Class
@interface Shape : NSObject
{
    // value
    ShapeColor fillColor;
}
// function
-(void) setFillColor : (ShapeColor) fillColor;
-(void) draw;
@end  // Shape interface
@implementation Shape
-(void) setFillColor : (ShapeColor) fillColor
{
     self->fillColor = fillColor;
}
-(void) draw
{
    // draw
}
@end // Shape implementation

2.实例化

Shape *shape = [Shape new];
[shape setFillColor : color];
[shape draw];

3.继承

// extends
@interface Circle : Shape
@end // Circle interface
@implementation Circle
-(void) setFillColor : (ShapeColor) fillColor
{
     [super setFillColor : fillColor];
}
-(void) draw
{
     // draw function override
}
@end // Circle implementation

4.复合

多个类组合在一起配合使用,组成一个新的类。
使用复合可组合多个对象,使之分工协作。

@interface Unicycle : NSObject
{
    Pedal *Pedal;
    Tire *tire;
}
//setter and getter below
@end //Unicycle
@interface Tire : NSObject
//detail
@end //Tire
@interface Pedal : NSObject
//detail
@end //Pedal

Pedal和Tire通过复合的方式组成了Unicycle

5.类拆分

每个类都有两个文件:

  • 包含类@interface部分的.h文件;
  • 包含@implementation部分的.m文件。

类的使用者可以导入(#import).h文件来获得该类的功能。
同时可以巧妙使用@class指令取代#import减少编译时间,继承例外,必须采用#import

你可能感兴趣的:(Objective-C之OOP知识)