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

简介:

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

 

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

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

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

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

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

如下图示:

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

问题就这么解决了.


目录
相关文章
|
5月前
|
Java 编译器 程序员
重载秘籍:解锁构造方法的多种可能
重载秘籍:解锁构造方法的多种可能
27 2
|
5月前
|
存储 Serverless 数据安全/隐私保护
C++ 类的成员函数和数据成员的技术性探讨
C++ 类的成员函数和数据成员的技术性探讨
60 0
|
5月前
|
编译器 C++
C++中执行父类构造方法的技术性探讨
C++中执行父类构造方法的技术性探讨
36 1
|
5月前
|
网络协议 C++
一文彻底解决C++中的重载、重写和隐藏操作
一文彻底解决C++中的重载、重写和隐藏操作
80 0
|
10月前
|
编译器
多态--遗失的子类析构函数(重要)
多态--遗失的子类析构函数(重要)
40 0
【自然框架】 页面里的父类——把共用的东东都交给父类,让子类专注于其他。
【类图】【命名空间】——————————————————【文件截图】   可能您会问,不就是弄个父类吗,怎么又是这么复杂呢?这个嘛,听我慢慢道来。 (类图里面Tree、Main1、DataDelete1、DataForm1、DataList1不是父类,而是共用页面)       这个是依据自然框架的特点来设置的,目的就是把共用的代码都放到父类里面,减轻子类的代码量。
892 0
覆盖(重写),重构,重载的区别
1:重构: 重构, 是对软计设计方法的描述, 这个层面是架构和设计方法,例如有一个文档一开始叫做:names.txt,过几天你发现这个文档的名字怎么看怎么不顺眼,就是想改名字,这可以叫做是重构。 重构是一个软件维护的通用技巧, 重构的具体做法, 可以通过重写或者重载等, 但不限于此, 更改注释, 更改函数名类名等,都可以称之为重构,重构的目的是为了让软件容易维护, 修改其Bug等.
1269 0