面向对象开发方法的特点主要有一下三点:1、可重用性 可重用性是面向对象软件开发的一个核心思路,事实上前面所介绍的面向对象程序设的四大特点,无一例外地,都或多或少地在围绕着可重用性这个核心并为之服务。 我们知道,应用软件是由模块组成的。可重用性就是指一个软件项目中所开发的模块,能够不仅限于在这个项目中使用,而是可以重复地使用在其他项目中,从而在多个不同的系统中发挥作用。 可重用模块必须是结构完整、逻辑严谨、功能明确的独立软件结构;其次,可重用模块必须具有良好的可移植性键稿,可以使用在各种不同的软硬件环境和不同的程序框架里;最后,可重用模块应该具有与外界交互、通信的功能。2、可扩展性 可扩展性是对现代应用软件提出的又一个重要要求,即要求应用软件能够很方便、容易地进行扩充和修改,这种扩充和修改的范围不但涉及到软件的内容,也涉及到软件的形进和工作机制。现代应用软件的修改更新频率越来越快,究其原因,即有用户业务发展、更迭引起的相应的软件内容的修改和扩充,也有因计算机技术本身发展造成的软件的升级换代,如现在呼声很迫切的把原客户机/服务器模式下的应用移植到因特网上的工作,就是这样一种软件升级。 使用面向对象技术开发的应用程序,具有较好的可扩展性。 面向对象技术的可扩展性,首先体现在它特别适合于使用在快速原型的软件开发方法中。快速原型法是研究软件生命周期的研究派含人员提出的一种开发步骤,相对于传统的瀑布式的开发方法,它在某些程度上来说更加灵活和实用。快速原型法的开发过程是这样的(参看图4.9),首先在了解了用户的需求之后,开发人员利用开发工具先做一个系统的雏形,称为原型,这个原型尽管粗糙,但却应该是完整的、可工作的。开发人员带着稿羡孝这个原型征求用户的意见,再根据用户的改进意见在第一个原型的基础上修改和进一步开发,形成第二个原型,再带着第二个原型去征求用户的意见……如此循环往复,不断地在已有工作的基础上修改、细化、完善,直到把最初粗陋的雏形精雕细琢成最终的功能完整、结构严谨的应用系统。 3、可管理性 以往面向过程的开发方法是以过程或函数为基本单元来构建整个系统的,当开发项目的规模变大时,需要的过程和函数数量成倍增多,不利于管理和控制。而面向对象的开发方法采用内涵比过程和函数丰富、复杂得多的类作为构建系统的部件,使整个项目的组织更加合理、方便。 例如一个系统,如采用面向过程的开发方法来实现,可能需要3000个过程或函数,要管理好这3000个过程或函数,它们在系统各种可能状态下的行为,它们之间错综复杂的关系,显然是一件非常麻烦的工作,也容易出现失误和遗漏。如果这个系统采用面向对象开发方法来实现,则可能仅用100个类,平均每个类包含30个方法,就可以完成同样的功能。100相对于3000,大大降低了管理、控制的工作量,从开发效率和质量保证等各个方面,都有很大的优越性。 另外,面向对象开发方法中的类,把数据和基上的操作封装在一起,使得仅本类的有限个方法才可以操纵、改变这些数据。这样,仍以上面的例子为例,当出现数据的错误时,只需要检查与该据相关的在同一个类中的30个方法即可,而在面向过程开发方法中处理相同的问题,则可能需要把所有的3000个过程或函数统统检查一遍,两者在工作量、效率和难易程度方面的差别是不信而喻的。