16、《软件开发中的界面设计与多样性考量》

《软件开发中的界面设计与多样性考量》

1. Visual Basic 继承性探讨

在软件开发里,继承性是面向对象编程的关键特性。要是 Visual Basic 具备继承性,我们就能编写一个类,赋予它属性和方法,再编写一个派生类,无需编写额外代码就能访问父类的所有属性和方法。例如,若父类有 Generate 方法,子类对象会自动拥有相同方法。若在子类中编写 Generate 过程,会覆盖父类的该方法,不过也能在子类的 Generate 过程里调用父类的 Generate 代码。

其他面向对象语言有类似功能,能创建任意数量的派生类,对父类代码中的单个过程修改,会影响所有派生类(除非在子类中重写该过程且不调用父类方法)。Visual Basic 虽无此功能,但可添加。

若在开发子类前能完成父类的所有细节,可复制父类的所有源代码作为子类的基线代码。虽会有大量重复代码,增大可执行文件体积,但从设计角度能实现依赖继承的设计。然而,这会带来维护难题,难以修改父类代码,或需在每个子类代码中追踪并修改副本。就像 Sheridan 公司在 1995 年为 Visual Basic 4.0 开发的 ClassAssist 插件,用于接管源代码管理。

另一种方法是让每个父类从标准模块(“影子”模块)调用大部分代码,并传递当前实例的对象引用。子类影子模块可调用父类影子模块中的所需过程,解决代码冗余问题,但需策略保护封装性,且可能导致严重的开销和维护难题。

其实,可轻易弥补 Visual Basic 缺乏继承性的不足,有时没有继承性反而更好。在一些项目中,过

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值