首页 > 其他 > 详细

类族结构的进化

时间:2019-12-15 19:30:36      阅读:70      评论:0      收藏:0      [点我收藏+]

遵循经典设计准则
——DTLib中的所有类位于单一的继承树中

技术分享图片

 

Object这个顶层父类定义了动态内存申请时的行为,当动态内存申请失败时,直接返回空指针,并不会抛出异常。所以说DTLib中的每一个类,在动态内存申请结束时一定要判断是不是空指针

为什么要增加InvalidOperationException这个异常类呢?
由于创建的数据结构类它是有状态的,在不同的状态下,成员函数调用之后的行为是不同的,特别是在有一些类对象的初始状态下面,某些成员函数是不能调用的。如果此时你就是调用了,怎么办?那就抛出非法操作的异常了。

技术分享图片

 技术分享图片

库里面的代码只抛异常,不处理异常。意味着在整个DTLib库的编码过程中,不会使用try...catch语句,为什么要这样?目的就是为了提高代码的可移植性。
因为一些早期的C++编译器,它是不支持异常处理的。所以说在开发DTLib时,只抛异常,不处理异常。

 

类族结构的进化

原文:https://www.cnblogs.com/-glb/p/12043782.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!