OC列表-扩展

来源:互联网 发布:上海跳跃网络吧 编辑:程序博客网 时间:2024/06/07 05:27

//

//  main.m

//  OC列表-扩展

//

//  Created by Goddog on 15/1/10.

//  Copyright (c) 2015 Goddog. All rights reserved.

//

/*

 1.扩展相当于匿名类别

 2.扩展则用于临时对某个类的接口进行扩展,类实现部分同时实现类接口部分定义的方法和扩展中定义的方法。

 3.定义类的扩展时可以额外增加实例变量,也可以使用@property@synthesize、来合成settergetter方法

   但定义类的列表时,则不允许额外定义实例变量。

 */

////  Girl.h//  OC列表-扩展////  Created by Goddog on 15/1/10.//  Copyright (c) 2015年 Goddog. All rights reserved.//#import <Foundation/Foundation.h>@interface Girl : NSObject//定义类的接口部分成员变量@property (nonatomic,copy) NSString* name;@property (nonatomic,copy) NSString* size;//定义类的接口部分方法-(void) love;@end

////  Girl.m//  OC列表-扩展////  Created by Goddog on 15/1/10.//  Copyright (c) 2015年 Goddog. All rights reserved.//#import "Girl+BeautifulGirl.h"@implementation Girl//为Girl提供实现部分@synthesize name = _name;@synthesize size = _size;@synthesize color = _color;//接口部分的方法-(void) love{    NSLog(@"%@",self);}//扩展部分的方法-(void) love:(NSString*) man{    NSLog(@"%@深爱着%@",man,self);}//重写description方法-(NSString*) description{return [NSString stringWithFormat:@"肤色是为%@尺寸有%@的%@",[self color],[self size],[self name]];}@end

////  Girl+BeautifulGirl.h//  OC列表-扩展////  Created by Goddog on 15/1/10.//  Copyright (c) 2015年 Goddog. All rights reserved.//#import "Girl.h"@interface Girl ()//扩展,额外增加的实例变量@property (nonatomic,copy) NSString* color;//扩展,额外增加的方法-(void) love:(NSString*) man;@end

#import <Foundation/Foundation.h>#import "Girl+BeautifulGirl.h"int main(int argc, const char * argv[]) {    @autoreleasepool {        //创建一个女孩对象        Girl* girl = [[Girl alloc] init];        girl.color = @"白色";        girl.size = @"34D";        girl.name = @"罗丝·迪威特·布克特";                //调用方法        [girl love];        [girl love:@"杰克·道森"];            }    return 0;}


0 0
原创粉丝点击