• OC7_代理的基本概念


    //
    //  Cat.h
    //  OC7_代理的基本概念
    //
    //  Created by zhangxueming on 15/6/24.
    //  Copyright (c) 2015年 zhangxueming. All rights reserved.
    //
    
    #import <Foundation/Foundation.h>
    
    @interface Cat : NSObject
    
    - (void)bark;
    
    @end
    
    
    //
    //  Cat.m
    //  OC7_代理的基本概念
    //
    //  Created by zhangxueming on 15/6/24.
    //  Copyright (c) 2015年 zhangxueming. All rights reserved.
    //
    
    #import "Cat.h"
    
    @implementation Cat
    
    - (void)bark
    {
        NSLog(@"Miao miao miao ...");
    }
    
    @end
    
    
    //
    //  Dog.h
    //  OC7_代理    的基本概念
    //
    //  Created by zhangxueming on 15/6/24.
    //  Copyright (c) 2015年 zhangxueming. All rights reserved.
    //
    
    #import <Foundation/Foundation.h>
    
    @interface Dog : NSObject
    
    - (void)bark;
    
    @end
    
    
    //
    //  Dog.m
    //  OC7_代理的基本概念
    //
    //  Created by zhangxueming on 15/6/24.
    //  Copyright (c) 2015年 zhangxueming. All rights reserved.
    //
    
    #import "Dog.h"
    
    @implementation Dog
    
    - (void)bark
    {
        NSLog(@"Wang wang wang ...");
    }
    
    @end
    
    
    //
    //  Person.h
    //  OC7_代理的基本概念
    //
    //  Created by zhangxueming on 15/6/24.
    //  Copyright (c) 2015年 zhangxueming. All rights reserved.
    //
    
    #import <Foundation/Foundation.h>
    
    @interface Person : NSObject
    {
        id _delegate;
    }
    
    @property (retain,nonatomic)id delegate;
    
    - (void)go;
    
    
    @end
    
    
    //
    //  Person.m
    //  OC7_代理的基本概念
    //
    //  Created by zhangxueming on 15/6/24.
    //  Copyright (c) 2015年 zhangxueming. All rights reserved.
    //
    
    #import "Person.h"
    #import "Dog.h"
    #import "Cat.h"
    
    @implementation Person
    
    - (void)go
    {
        [_delegate bark];
    }
    
    //- (void)dealloc
    //{
    //    [_delegate release];
    //    [super dealloc];
    //}
    
    @end
    //
    //  main.m
    //  OC7_代理的基本概念
    //
    //  Created by zhangxueming on 15/6/24.
    //  Copyright (c) 2015年 zhangxueming. All rights reserved.
    //
    
    #import <Foundation/Foundation.h>
    #import "Person.h"
    #import "Dog.h"
    #import "Cat.h"
    
    int main(int argc, const char * argv[]) {
        @autoreleasepool {
            // insert code here...
            //NSLog(@"Hello, World!");
            Person *xiaoXin = [[Person alloc] init];
            Dog *dog = [[Dog alloc] init];
            xiaoXin.delegate = dog;
            [xiaoXin go];
            Cat *cat = [[Cat alloc] init];
            xiaoXin.delegate =cat;
            [xiaoXin go];
        }
        return 0;
    }
  • 相关阅读:
    后缀自动机学习笔记
    [bzoj4516][Sdoi2016]生成魔咒——后缀自动机
    [bzoj1692][Usaco2007 Dec]队列变换——贪心+后缀数组
    BZOJ4811 [Ynoi2017]由乃的OJ
    codeforces796E Exam Cheating
    BZOJ1004 [HNOI2008]Cards
    BZOJ1798 [Ahoi2009]Seq 维护序列seq
    BZOJ4785 [Zjoi2017]树状数组
    UOJ207 共价大爷游长沙
    POJ3768 Katu Puzzle
  • 原文地址:https://www.cnblogs.com/0515offer/p/4598549.html
Copyright © 2020-2023  润新知