C++面向对象思想(1):类的设计



1.类的功能、来源和应用

类的实质是将计算机系统中的任何软硬件事物皆用数据属性和数据操作聚合的实体表示,概括事物在整体、存储和功能,实例对象创建、子系统构成、所有元素的同一性操作等不同方面的特征,从而在编程的不同阶段为过程、设计模式、应用框架提供功能服务,具有很强的灵活性。

类不仅概括客观世界中一类物质的共性,应用在程序中,并且实现不同程序中的软件复用,例如时钟的共性是显示时间,则时钟类可在任一程序中复用;而且代表软件系统的工作过程,是系统服务功能的提供者。类的这个功能不仅在设计的多个成员函数中获得反映,而且通过组合软件系统组成部分的功能并且设置公有功能接口类实现,例如编译器类compile是接口类,组合scanner算法、语法分析算法和目标代码生成算法三个主要组成部分。

把过程式程序设计的数据结构及操作封装成类,可实现一类对象共享数据结构,在软件工程的角度提高程序内聚性。并且,将序列数据结构元素的获取操作设置成迭代器类iterator,可依次巡访容器类的各个元素,而不必暴露容器集合的内部表述方式,广泛适用各种数据类型的数组、二叉树、图的邻接表等复杂数据结构。遍历算法是对所有元素执行“找到一个元素”的操作,而搜索算法是“找到一个特定的元素”的操作,所以 迭代器iterator具有遍历和搜索的双重特性,C++发展的新成果,称为标准模板库STL(standard template library)技术。

类的设计应考虑在软件系统中的类间关系、类层次,在继承和多态、多继承上类的进化,应用系统与目标结果的关系(例如工厂与产品),类在不同应用环境的演化和移植,还应考虑实例对象在实际应用中呈现的规律性的联系对类的影响,例如一组不同性质和类型的对象的应用结构称为组件。所以,类应管理、组织、创建不同组成部分的复合实例对象和组件,例如图形界面实例对象。

以上三个方面是C++类的设计应考虑的主要内容。在这三个方面中,类的主体分别是客观实在物和软件系统、数据结构或容器vector、关系和设计模式。因此,面向对象技术中的对象(object)不仅是独立的客观世界物质,而且是数据的逻辑结构和物理结构、软件系统和输出结果。软件复用是指程序组件或软件成分不作修改或稍加改动就多次重复使用。软件复用有三个级别:代码重用,设计结果重用(应用框架)和设计模式重用(分析结果重用)。代码重用是最常见和最普遍的,包括源代码剪贴(复制、克隆),源代码包含(头文件)和继承(扩充和具体实现)。后一种类扩展了软件重用的范围,软件系统类是设计结果重用、软件系统和输出结果的模

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值