OC的复合
OC的复合
蒲公英6_6守候 发表于2年前
OC的复合
  • 发表于 2年前
  • 阅读 3
  • 收藏 0
  • 点赞 0
  • 评论 0

标题:腾讯云 新注册用户域名抢购1元起>>>   

摘要: 复合实例代码!

在复合中 我认为比较重要多就是description;以下为详细讲解。
自定义对象描述(description)
1: 复合都是对象与对象的组合,为了能区分开各个对象,所以我们会需 要自定义描述(description)
2: 当使用NSLog()输出对象时,会输出该对象的描述。
3: 即NSLog给对象发送了一个description消息,然后对象的 description方法生成一个NSString并将其返回输出。

也就是组合,那也就是一个对象不是一个简单的个体,他都是很多对象在一起组合的,就比如说房子这个类,它是由窗户,地板,门,墙,--组合成的,然后大脑又有很多组合起来的,所以说万物皆对象,就是这么个道理,现在时节就是面向对象的世界,我们每天都要面对很多对象,用很多对象!

Window.h

#import <Foundation/Foundation.h>


@interface Window : NSObject

-(NSString*)win;

@end


Window.m

#import "Window.h"


@implementation Window

-(NSString *)win{

    return @"窗子";

}

@end


Door.h

#import <Foundation/Foundation.h>


@interface Door : NSObject

-(NSString *)door;

@end


Door.m


#import "Door.h"


@implementation Door

-(NSString *)door{

    return @"";

}

@end


Floor.h


#import <Foundation/Foundation.h>


@interface Floor : NSObject

-(NSString*)floor;

@end


 Floor.m

#import "Floor.h"


@implementation Floor

-(NSString *)floor{

    return @"地板";

    }

@end


House.h

#import <Foundation/Foundation.h>

#import "Window.h"

#import "Door.h"

#import "Floor.h"

@interface House : NSObject

{

    Window *_window;

    Door *_door;

    Floor *_floor;

}

-(void)setWindow:(Window *)windows;

-(void)setDoor:(Door *)doors;

-(void)setFloor:(Floor *)floors;

-(void)setHome;

@end

House.m


#import "House.h"


@implementation House


-(void)setWindow:(Window *)windows

{

    _window = windows;

}

-(void)setDoor:(Door *)doors

{

    _door = doors;

}

-(void)setFloor:(Floor *)floors

{

    _floor = floors;

}

-(void)setHome

{

    NSLog(@"这里有一个家,家的装饰都有:%@,%@%@",[_window win],[_door door],[_floor floor]);

}


@end


main.m



#import <Foundation/Foundation.h>

#import "Car.h"

#import "Engine.h"

#import "Type.h"

int main(int argc, const char * argv[]) {

    @autoreleasepool {

        Car *newCar = [[Car alloc]init];

        Engine *newEngine = [[Engine alloc]init];

        Type *newType = [[Type alloc]init];

        [newCar  setEngine:newEngine];

        [newCar setType:newType];

        [newCar setCar];

        

        

    }

    return 0;

}


共有 人打赏支持
粉丝 0
博文 15
码字总数 7681
×
蒲公英6_6守候
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: