------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! ———
/******************************************
* 今天对 “扩展(匿名类别)”进行学习.收获如下:
*
* 要点:使用扩展可以将原本隐藏的方法做出声明
*
*******************************************/
代码实现:
#import <Foundation/Foundation.h>
@interface LBXYCar : NSObject
@property(nonatomic,copy) NSString* brand;
@property(nonatomic,copy) NSString* model;
-(void)drive;
@end
#import "LBXYCar.h"
#import "LBXYCar+drive.h"
@implementation LBXYCar
@synthesize brand;
@synthesize model;
@synthesize color;
-(void)drive
{
NSLog(@"%@汽车正在路上奔驰",self);
}
-(void)drive:(NSString *)owner
{
NSLog(@"%@正驾驶%@汽车正在路上奔驰",owner,self);
}
-(NSString*)description
{
return [NSString stringWithFormat:@"<LBXY[brand=%@,model=%@,color=%@]>",self.brand,self.model,self.color];
}
@end
#import <Foundation/Foundation.h>
#import "LBXYCar.h"
@interface LBXYCar()
@property(nonatomic,copy) NSString* color;
-(void) drive:(NSString*)owner;
@end
#import <Foundation/Foundation.h>
#import "LBXYCar.h"
#import "LBXYCar+drive.h"
int main(int argc, const char * argv[])
{
@autoreleasepool
{
LBXYCar* car = [[LBXYCar alloc] init];
car.brand = @"宝马";
car.color = @"白色";
car.model = @"X100";
[car drive];
NSLog(@"%@",[car description]);
[car drive:@"李炎"];
}
return 0;
}