美文网首页
通过协议来实现匿名对象

通过协议来实现匿名对象

作者: memelook | 来源:发表于2018-01-30 15:53 被阅读7次

举个例子,例如我们在封装数据库工具类,我们可能要会连接很多不同的数据库,例如sqlite3,mysql等。所以我们继承一个基类并不合理,但我们又要要求这些类要建立某些方法,所以可以实现匿名对象,返回一个遵守该协议的id对象。

EOCDatabaseConnection.h

@protocol EOCDatabaseConnection <NSObject>
@required
- (void)connect;
- (void)disConnect;
@end
EOCDatabaseManager.h

#import <Foundation/Foundation.h>
@protocol EOCDatabaseConnection;
@interface EOCDatabaseManager : NSObject

- (id<EOCDatabaseConnection>)connectionWithIdentifier:(NSString *)identifier;

@end
#import "EOCDatabaseManager.h"
#import "EOCDatabaseConnection.h"

@interface EOCDatabaseManager ()<EOCDatabaseConnection>
@end

@implementation EOCDatabaseManager

- (id<EOCDatabaseConnection>)connectionWithIdentifier:(NSString *)identifier
{
    //调用协议的方法
    [self connect];
    return nil;
}

/*
 *  实现协议的内容
 */
-(void)connect
{
    
}

-(void)disConnect
{
    
}

@end

相关文章

  • 通过协议来实现匿名对象

    举个例子,例如我们在封装数据库工具类,我们可能要会连接很多不同的数据库,例如sqlite3,mysql等。所以我们...

  • 《Effective Objective-C 2.0 》 阅读笔

    第28条:通过协议提供匿名对象 要点 协议可在某种程度上提供匿名类型。具体的对象类型可以淡化成遵从某协议的id类型...

  • iOS 通过协议实现的匿名类对象

    在ios中,协议的使用非常广泛,它定义了一系列的方法,这些方法可以是必须实现的也可以是可选性的。这个特性非常有利于...

  • iOS 通过协议提供匿名对象

    这个专题主要讲通过协议提供匿名对象,主要就是以匿名对象来表示从另一个类中返回对象,因为不同的对象处理的问题不一样。...

  • (二十七)[OC高效系列]通过协议提供匿名对象

    协议可在某种程度上提供匿名类型,具体的对象类型可以淡化成遵从某协议的id类型,协议里规定了对象所应实现的方法。 使...

  • 协议与分类--28:通过协议提供匿名函数

    协议可以在某种程度上提供匿名类型,具体的对象类型可以淡化成遵循从某协议的id类型,协议里规定了对象所应实现的方法 ...

  • Go语言结构体快速入门

    Golang里面没有类,用结构体实现面向对象的编程特性。非常简洁。没有extends,通过匿名字段来实现。Gola...

  • iOS -- 通过协议提供匿名对象(16)

    协议定义了一些列方法, 遵从此协议的对象应该事实现他们(如果这些方法不是可选的,那么就必须实现),于是,我...

  • 通过协议提供匿名对象--Effective笔记

    协议定义了一系列方法,遵从此协议等对象应该实现它们(如果这些方法不是可选的,那么就必须实现)。于是,我们可以用协议...

  • go面向对象的理解

    在go语言中没有面向对象的概念,但是可以通过下面方式实现面向对象的特征 封装, 通过方法实现 继承, 通过匿名字段...

网友评论

      本文标题:通过协议来实现匿名对象

      本文链接:https://www.haomeiwen.com/subject/ocjczxtx.html