//
// Rent.h
// OCHomeWorkDelegate
//
// Created by lanouhn on 14-8-13.
// Copyright (c) 2014年 vaercly@163.com 陈聪雷. All rights reserved.
//
#import <Foundation/Foundation.h>
@protocol RentDelegate <NSObject>
//打扫卫生
- (void)cleanUp;
//定期交房租
- (void)payRent;
@end
@interface Rent : NSObject
@property (nonatomic, assign) id<RentDelegate> delegate;
//房子脏了
- (void)houseDirty;
//房租到期了
- (void)rentDate;
@end
//
// Rent.m
// OCHomeWorkDelegate
//
// Created by lanouhn on 14-8-13.
// Copyright (c) 2014年 vaercly@163.com 陈聪雷. All rights reserved.
//
#import "Rent.h"
@implementation Rent
//房子脏了
- (void)houseDirty {
[self.delegate cleanUp];
}
//房租到期了
- (void)rentDate {
[self.delegate payRent];
}
@end
//
// Student.h
// OCHomeWorkDelegate
//
// Created by lanouhn on 14-8-13.
// Copyright (c) 2014年 vaercly@163.com 陈聪雷. All rights reserved.
//
#import <Foundation/Foundation.h>
#import "Rent.h"
@interface Student : NSObject <RentDelegate>
@property (nonatomic, retain) NSString *name;
- (id)initWithName:(NSString *)name;
@end
//
// Student.m
// OCHomeWorkDelegate
//
// Created by lanouhn on 14-8-13.
// Copyright (c) 2014年 vaercly@163.com 陈聪雷. All rights reserved.
//
#import "Student.h"
@implementation Student
- (void)cleanUp {
NSLog(@"我是学生%@,我在打扫卫生", self.name);
}
- (void)payRent {
NSLog(@"我是学生%@,我要付房租了", self.name);
}
- (id)initWithName:(NSString *)name {
self = [super init];
if (self) {
self.name = name;
}
return self;
}
@end
//
// main.m
// OCHomeWorkDelegate
//
// Created by lanouhn on 14-8-13.
// Copyright (c) 2014年 vaercly@163.com 陈聪雷. All rights reserved.
//
#import <Foundation/Foundation.h>
#import "Rent.h"
#import "Student.h"
int main(int argc, const char * argv[])
{
@autoreleasepool {
//创建房屋
Rent *house = [[Rent alloc] init];
//创建一个学生
Student *student = [[Student alloc] initWithName:@"小明"];
//设置代理为学生
house.delegate = student;
//房子脏了
[house houseDirty];
//房租到期了
[house rentDate];
}
return 0;
}