类模块程序设计

本文探讨了从函数模块到类模块的演变,强调了类的封装性、继承性和多态性。通过举例解释了如何使用C++中的类实现这些特性,并指出类模块在实现接口和数据封装方面的重要性。同时,提到了类模块的局限性,如命名冲突和跨语言使用问题,为此引入了Com组件作为解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

从面向过程的程序设计到面向对象的程序设计,再到后面的com组件,经过了一个去曲折的过程。人们一直追求软件的生产能像轮船汽车一样,先按照标准制作部件,然后将部件组装,形成产品。于是,如何把一个大型的软件划分为重复可利用的标准模块是亟需解决的问题。作为可重用的模块,它应该具有相对独立、稳定,具有封装性,代码可重用的程序实体。软件模块化的发展历史如下所示:

1、函数模块及其接口

        最初,人们是按照代码段的功能以函数的形式来划分软件的,把函数的声明放在头文件(*.h)中,把函数的定义放在实现文件(*.cpp)文件中,使用函数模块时包含头文件就可以了。

当开发一个大型软件时,程序总设计人员可以利用这种函数形式的模块,把一个大规模的程序分成若干个模块,规定了接口之后分给程序设计人员去实现,最后再把模块连接起来形成产品。但是随着软件规模的扩大,以函数为软件模块的程序设计方法的缺点也日益明显,其中数据与操作的分离是这种方法致命的弱点,当数据和操作函数的名字相同时,经常出现了张冠李戴的现象,很容易引起bug

2、类模块及其接口

        在长期的实践中,人们发现世界上由不同的事物组成,事物具有固有属性和行为,是相当独立和稳定的,世界上的所有问题是依靠事物之间的联系和交互来解决。所有计算机程序设计中以事物为着眼点,用类将程序中的数据和操作封装起来,达到对外部模块的独立性,并且加强了内部模块中数据成员和成员函数的联系。

类的标志性特性为:继承性、封装性和多态性。

(1)    继承性

       类的继承是从现有类的基础上,派生出一个新的类,新派生的类自动具有了现有类的全部属性和特征,同时还可以加入原来的类没有的、新的属性和特征;如下图:

1 交通工具层次图

        飞机是客机、运输机、直升机的基类。客机、运输机、直升机具有飞机的特点,如在空中飞行,都具有飞行员和乘客成员;客机、运输机、直升机又具有更多的特点,如外形特征、运输量等。

        派生类继承了基类所有的成员,其中派生类的访问权限由两个因素决定:

①成员在基类中的访问权限;

②继承方式。

如图2所示:

2 派生类的继承方式

派生类对象的存储结构:

        在创建一个对象时,系统为对象分配一块存储空间,其中存放对象的实例数据成员。一个派生类的实例数据成员由两部分组成,一部分是继承自基类的数据成

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值