数据结构C++(1)抽象数据类型

标签:
抽象数据类型adt多重继承类对象面向对象虚函数抽象基类it |
分类: 电脑技术 美化博客 |
数据结构C++(1)
抽象数据类型
1.抽象数据类型(ADT):一种用户定义的数据类型,其运算符指明了用户如何操作数据。与具体应用无关,集中与数据及其操作的理想模型上。C++使用用户定义的类(class)来表示抽象数据结构。
2.ADT描述规范:
ADT
Data
Operations
3、类class:
|
|
封装信息:类通过把数据和方法包装在一起并将它们视作整体。
信息隐藏:在结构上隐藏了应用细节(私有)并严格控制对其数据和操作的外部访问(公共方法)。
消息传递:由控制各对象相互作用的主控模块指挥每个对象活动的过程。
http://s15/middle/4a93cceagb1843430b31e&690
举例:一圆形游泳池,在其周围建一圆形过道,并在其周围围上栅栏,栅栏价格每米3.5美元、过道造价每平方米0.5美元。过道宽度3米,游泳池半径由键盘输入,要求计算并输出过道和栅栏造价。
4、对象复合:类包含本身就是对象的数据成员。优点:可以访问组成它的对象的成员函数,实现代码复用。
从点线面看对象复合:
http://s2/middle/4a93cceagb18564bee6a1&690
5、类的继承:
继承:通过细化某个类来创建(派生)新类,并复用已开发的代码。
从Seqlist(线性表) 到OrderdList(有序表)看类的继承:
http://s3/middle/4a93cceagb18565263972&690
实现类OrderedList仅需我们写构造函数和Insert的代码,所有其他操作都可以从类SeqList中得到。
C++继承表示:
class OrderedList:public SeqList {
}
6、面向对象程序设计:
http://s13/middle/4a93cceagb185ac0f670c&690
第一阶段:问题分析和功能定义
第二阶段:设计
http://s7/middle/4a93cceag7826fac3a656&690
第三阶段:编码
第四阶段:测试
7、程序的测试和维护:
对象测试:开发小程序调用类的每个公共方法来对类进行测试。
控制模块测试:用精心选择的测试用例运行程序。还应该用不正确的输入来测试代码的“健壮性”。
完整结构化测试:如果程序中还有代码没被执行到,就没有达到完全测试。要求选择数据测试程序中的不同算法:每个条件语句、每个循环结构、每个函数调用等等。
8、抽象基类及虚函数:
抽象基类着重描述类的最基本的性质。这些数据集实现该类的最基本的操作。
template<class T>
class List
{ protected: int size; //由派生类进行修改。
};
9、多重继承——多态性