扩展和类别相似,定义如下
@interface x现有类 (){
变量
}
//方法
@end
在类别时也可以增加新的变量。
但是扩展可以增加实例变量,也可以使用@property来合成属性;但是定义类的类别时,不允许定义额外的实例变量,也不能使用@property
实例如下:
#import<Foundation/Foundation.h>
@interface Car:NSObject
@property (nonatomic,copy)NSString* brand;
@property(nonatimic copy)NSString* model;
-(void) drive;
@end
#import "Car.h"
@interface Car()
@property(nonatomic,copy) NSString* color;
-(void) drive:(NSString*) name;
@end
#import :Car+drive.h"
@implementation Car
-(void) drive{};
@end
#import <Foundation/Foundation.h>
#import "FKCar+driver.h"
int main(int arg,char*argv[]){
@autoreleasepool{
Car* car=[[Car alloc] init];
car.brand=@"BMW";
car.model=@"a";
car.color=@"";
[car drive];
}
return 0;
}