zoukankan      html  css  js  c++  java
  • 如何提醒客户重载父类的指定方法?

    如何提醒客户重载父类的指定方法?

    构建框架的时候,往往需要用抽象的基类来奠定框架的基础,而抽象基类中的方法,往往只是起着接口的作用,需要继承的子类来实现.

    OC中并不存在真正的抽象类,虽然我们可以用空实现来模拟抽象类以及抽象接口,但是,因为抽象类中,这个接口已经空实现了,子类是可以不用重载这个接口的.可是实际的需求是必须由子类重载时,怎么办呢?

    我们必须要提醒客户重载抽象类的方法,因为不重载的话,功能就不完整,这个时候,我们可以直接在抽象类中抛出异常,并提醒客户必须重载指定的方法.

    我们可以将以下一段代码,添加到需要抛出异常的方法当中:

        [NSException raise:NSInternalInconsistencyException
                    format:@"对不起,您不能直接调用 '%@ %d' 中的方法 '%@',您需要通过继承其子类,在子类中重载该方法",
         [NSString stringWithUTF8String:__FILE__].lastPathComponent, __LINE__, NSStringFromSelector(_cmd)];

    如下图示:

    运行后的效果(直接导致崩溃):

    问题就这么解决了.

  • 相关阅读:
    paramiko使用
    requests防止中文乱码
    RESTful架构
    关于pandas
    echarts基础使用
    跨站请求伪造CSRF原理
    js将方法作为参数调用
    Newtonsoft.Json解析json字符串和写json字符串
    图片压缩
    sql去重
  • 原文地址:https://www.cnblogs.com/YouXianMing/p/4737236.html
Copyright © 2011-2022 走看看