OC - ProtocolAndDelegate
#import <Foundation/Foundation.h>
#import "Student.h"
#import "Teacher.h"
#import "Landlord.h"
#import "Doctor.h"
int main(int argc, const char * argv[])
{
@autoreleasepool {
//
//
Landlord *haiYang = [[Landlord alloc] init];
Teacher *songMeng = [[Teacher alloc] init];
Student *jinPeng = [[Student alloc] init];
Doctor *lvSheng = [[Doctor alloc] init];
NSLog(@"---------------------- --------------------------");
//
[haiYang setDelegate:songMeng];
//
[haiYang getMoney];
//
[haiYang checkPublicSomething];
//
[haiYang checkroom];
NSLog(@"----------------------- -------------------------");
//
[haiYang setDelegate:jinPeng];
[haiYang getMoney];
[haiYang checkPublicSomething];
[haiYang checkroom];
NSLog(@"----------------------- -------------------------");
//
[haiYang setDelegate:lvSheng];
[haiYang getMoney];
[haiYang checkPublicSomething];
[haiYang checkroom];
/*
1.
2.
3.
*/
}
return 0;
}
#import <Foundation/Foundation.h>
/*
1.
2. ,
3.
*/
@protocol LandlordDelegate <NSObject>
//
-(void)giveMoney;
//
-(void)protectPublicSomething;
//
-(void)cleanHouse;
@end
@interface Landlord : NSObject
{
NSString *_name;
NSString *_sex;
id<LandlordDelegate> _delegate; // , *
}
-(void)setDelegate:(id<LandlordDelegate>)delegate;
//
//
-( void )getMoney;
//
-(void)checkPublicSomething;
//
-(void)checkroom;
@end
#import "Landlord.h"
@implementation Landlord
-(void)setDelegate:(id<LandlordDelegate>)delegate
{
_delegate = delegate;
}
//
//
-( void )getMoney
{
NSLog(@" ");
//
[_delegate giveMoney];
}
//
-(void)checkPublicSomething
{
NSLog(@" ");
//
[_delegate protectPublicSomething];
}
//
-(void)checkroom;
{
NSLog(@" ");
//
[_delegate cleanHouse];
}
@end
#import <Foundation/Foundation.h>
// ,
#import "Landlord.h"
@interface Teacher : NSObject <LandlordDelegate> //
@end
#import "Teacher.h"
@implementation Teacher
//
//
-(void)giveMoney
{
//
NSLog(@" ");
}
//
-(void)protectPublicSomething
{
NSLog(@" ");
}
//
-(void)cleanHouse
{
NSLog(@" ");
}
@end
#import <Foundation/Foundation.h>
#import "Landlord.h"
@interface Student : NSObject <LandlordDelegate>
@end
#import "Student.h"
@implementation Student
//
//
-(void)giveMoney
{
//
NSLog(@" ");
}
//
-(void)protectPublicSomething
{
NSLog(@" ");
}
//
-(void)cleanHouse
{
NSLog(@" ");
}
@end
#import <Foundation/Foundation.h>
#import "Landlord.h"
@interface Doctor : NSObject <LandlordDelegate>
@end
#import "Doctor.h"
@implementation Doctor
//
//
-(void)giveMoney
{
//
NSLog(@" ");
}
//
-(void)protectPublicSomething
{
NSLog(@" ");
}
//
-(void)cleanHouse
{
NSLog(@" ");
}
@end
#import <Foundation/Foundation.h>
/*
protocol
, , .h
,
protocol + + <NSObject( )> @end
<>
*/
@protocol rentProtocol <NSObject>
//
-(void)giveMoney;
//
-(void)protectPublicSomething;
//
-(void)cleanHouse;
@end
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Python 및 TCP 소켓을 사용하는 비트코인 네트워크 프로토콜 소개블록체인 기술은 분산 노드가 공통 원장을 공유할 수 있도록 하는 합의 알고리즘을 기반으로 합니다. 오늘은 실제 Bitcoin 노드와 상호 작용하는 Python 프로그램을 처음부터 작성해 보겠습니다. 그렇지 않은 경우...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.