日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

代理设计模式练习

發布時間:2023/12/18 asp.net 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 代理设计模式练习 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
// main.m // 代理設計模式練習#import <Foundation/Foundation.h> #import "Person.h" #import "LinkHome.h" #import "LoveHome.h"int main(int argc, const char * argv[]) {/*用代理實現學生找房子, 不具備找房子的能力所以學生可以找另一個對象來幫它找房子, 那么另一個對象就是學生的代理*/Person *p = [Person new];LinkHome *lh = [LinkHome new];p.delegate = lh;// LoveHome *lh = [LoveHome new]; // p.delegete = lh; [p findHourse];return 0; } // Person.h // day17#import <Foundation/Foundation.h> //#import "StudentProtocol.h"/*協議的編寫規范:1.一般情況下, 當前協議屬于誰, 我們就將協議定義到誰的頭文件中2.協議的名稱一般以它屬于的那個類的類名開頭, 后面跟上protocol或者delegate3.協議中的方法名稱一般以協議的名稱protocol之前的作為開頭4.一般情況下協議中的方法會將觸發該協議的對象傳遞出去5.一般情況下一個類中的代理屬于的名稱叫做 delegate6.當某一個類要成為另外一個類的代理的時候, 一般情況下在.h中用@protocol 協議名稱;告訴當前類 這是一個協議.在.m中用#import真正的導入一個協議的聲明*/@class Person;@protocol PersonProtocol <NSObject>- (void)personFindHourse:(Person *)person;@end@interface Person : NSObject//@property (nonatomic, strong) id<StudentProtocol> delegete; @property (nonatomic, strong) id<PersonProtocol> delegate;- (void)findHourse; @end // Person.m#import "Person.h"@implementation Person- (void)findHourse {NSLog(@"學生想找房子");// 通知代理幫他找房子if ([self.delegate respondsToSelector:@selector(personFindHourse:)]) {[self.delegate personFindHourse:self];} }@end // StudentProtocol.h#import <Foundation/Foundation.h>@protocol StudentProtocol <NSObject>// 幫學生找房子 - (void)studentFindHourse; @end // LinkHome.h#import <Foundation/Foundation.h> //#import "Person.h"@protocol PersonProtocol;@interface LinkHome : NSObject <PersonProtocol>@end // LinkHome.m#import "LinkHome.h" #import "Person.h"@implementation LinkHome- (void)personFindHourse:(Person *)person {NSLog(@"%s", __func__); } @end // LoveHome.h#import <Foundation/Foundation.h>@interface LoveHome : NSObject@end // LoveHome.m#import "LoveHome.h"@implementation LoveHome@end

?

轉載于:https://www.cnblogs.com/xufengyuan/p/6616125.html

總結

以上是生活随笔為你收集整理的代理设计模式练习的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。