不疯不成魔

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

main.m

Man *laowang = [Man manWithName:@"haohao" gender:@"" age:0];
        
        
        laowang.age = 20;
        
        
        Woman *sister = [Woman womanWithName:@"奶茶" gender:@"" age:0];
        sister.age = 20;
        
        [laowang playGame];
        [laowang makeMoney];
        
        [sister shopping];
        [sister fallInLove];
        
        sister.delegare = laowang;
        
        
        [sister findFloodDirty];
        

Man.h

#import <Foundation/Foundation.h>
#import "Woman.h"
@interface Man : NSObject<MarryDelegate>
@property (nonatomic, retain) NSString *name;
@property (nonatomic, retain) NSString *gender;
@property (nonatomic, assign) NSInteger age;

- (id)initWithName:(NSString *)name gender:(NSString *)gender age:(NSInteger)age;
+ (id)manWithName:(NSString *)name gender:(NSString *)gender age:(NSInteger)age;
- (void)sayHi;
- (void)playGame;
- (void)makeMoney;
@end

man.m

@implementation Man
- (id)initWithName:(NSString *)name gender:(NSString *)gender age:(NSInteger)age
{
    if (self = [super init]) {
        self.name = name;
        self.gender = gender;
        self.age = age;
    }
    return self;
}
+ (id)manWithName:(NSString *)name gender:(NSString *)gender age:(NSInteger)age
{
     return  [[Man alloc] initWithName:name gender:gender age:age];
}
- (void)sayHi
{
    NSLog(@"我是%@ ,性别%@,年龄%ld", self.name, self.gender, self.age);
}

- (void)playGame{
    NSLog(@"小撸怡情,大撸伤身!");
}
- (void)makeMoney{
    NSLog(@"挣钱,给老婆花");
}
#pragma ---marray
- (void)cleanHouse
{
    NSLog(@"结婚扫地,呵呵,赚到了");
}

- (void)cooking{
    NSLog(@"不敢相信,我做的饭这么好吃");
}

- (void)washFeet
{
    NSLog(@"我说洗脚,你就相信");
}

- (void)washCloth
{
    NSLog(@"偶尔洗洗");
}

//生孩子
- (void)giveBathToChild
{
    NSLog(@"生孩子是两个人的事");
}

@end

Woman.h

@protocol MarryDelegate <NSObject>

//扫地

- (void)cleanHouse;

- (void)cooking;

- (void)washFeet;

- (void)washCloth;

@optional
//生孩子
- (void)giveBathToChild;

@end








@interface Woman : NSObject
@property (nonatomic,retain) NSString *name;
@property (nonatomic,retain) NSString *gender;
@property (nonatomic,assign) NSInteger age;
//代理属性
//女人的丈夫,必须服从结婚协议  --- MarryDelegate
@property (nonatomic,assign) id<MarryDelegate> delegare;

- (id)initWithName:(NSString *)name gender:(NSString *)gender age:(NSInteger)age;
+ (id)womanWithName:(NSString *)name gender:(NSString *)gender age:(NSInteger)age;
- (void)sayHi;

- (void)shopping;

- (void)fallInLove;


//地脏了
- (void)findFloodDirty;

- (void)hungary;

- (void)clothDirty;

- (void)lonely;





@end

woman.m

#import "Woman.h"

@implementation Woman
- (id)initWithName:(NSString *)name gender:(NSString *)gender age:(NSInteger)age
{
    if (self = [super init]) {
        self.name = name;
        self.gender = gender;
        self.age = age;
    }
    return self;
}
+ (id)womanWithName:(NSString *)name gender:(NSString *)gender age:(NSInteger)age
{
    return [[self alloc] initWithName:name gender:gender age:age];
}


- (void)sayHi
{
    NSLog(@"我是%@,%@的,芳龄%ld",self.name, self.gender, self.age);
}

- (void)shopping
{
    NSLog(@"哎呀,衣服好漂亮!");
}

- (void)fallInLove
{
    NSLog(@"呵呵,又谈恋爱了");
}

//地脏了
- (void)findFloodDirty;
{
    [self.delegare cleanHouse];
}

- (void)hungary
{
    [self.delegare cooking];
}

- (void)clothDirty
{
    [self.delegare washCloth];
}

- (void)lonely
{
    //判断代理是否想去生
    if ([self.delegare respondsToSelector:@selector(giveBathToChild)]) {
        [self.delegare giveBathToChild] ;
    }
}

 

posted on 2015-08-12 11:01  不疯不成魔  阅读(190)  评论(0编辑  收藏  举报