C++学习------数据抽象

来源:互联网 发布:知柏地黄丸的成分 编辑:程序博客网 时间:2024/04/29 07:11
数据抽象最本质的特征,就是把数据类型的使用与它的实现加以分离,它使得程序设计人员能够:(1)把大的系统分解成多个小的部分,每个部分有一个按所处理的数据而设计的接口;(2)这些接口是这个部分的说明,是外部可见的,而这个部分的具体实现则是隐蔽的、外部不可见的;(3)所需的保护措施放在每个接口之中。 抽象数据类型是数据抽象的一种类型化实现机制。 ADT 为程序设计提供了许多好处:(1)模块化:每个ADT 自成一个模块,这使得程序的结构化得以保证,同时也使程序的编写简化,使程序易读易懂。(2)封装性和完整性:允许让什么数据进出受到了接口的控制;不合法的请求不能进入内部。只要实现是正确的,数据结构的完整性就得以保证。(3)简化了对正确性的检验:由于每个ADT 是一个单独的模块,可以对它们的正确性分别予以检验,编写主控程序时,对ADT 只是调用问题。这样,对主控程序的正确性验证就大为简化。ADT 是类型化的,可利用编译检验。(4)实现部分可以独立更换。 ADT 要求程序设计语言具有的能力:(1)命名:要按照作用域的规则保证名的可见度,设置保护机制以保证隐蔽信息的专用;一个数据只能用一种办法来命名。(2)类型检验:一般是在编译时进行检验。当类型信息不能或很少可能显式地给出时,需要对表达式的类型进行推理以实现检验。(3)说明的记法:程序员能够从ADT 的说明中得到所需要的全部信息, 而且说明和实现必须一致。(4)分别编译:在一个程序中,每个ADT 是单独进行编译的, 然后和主程序链接在一起。分别编译保证了ADT 的封装性,同时为编译优化提供了方便。
原创粉丝点击