8.1.1 面向对象方法简介
面向对象方法(Object-Oriented Method)是一种把面向对象的思想应用于软件开发过程中,指导开发活动的系统方法,简称OO(Object-Oriented)方法。它是建立在“对象”概念基础上的方法学。所谓面向对象就是基于对象概念,以对象为中心,以类和继承为构造机制,来认识、理解、刻画客观世界和设计、构建相应的软件系统。
面向对象的思想提倡运用人类的思维方式,从现实世界中存在的事物出发构造软件。主张从客观世界固有的事物出发来构造系统,提倡用人类在现实生活中常用的思维方法来认识、理解和描述客观事物,强调最终建立的系统能够映射问题域,也就是说,系统中的对象以及对象之间的关系能够如实地反映问题域中固有事物及其关系。
面向对象方法起源于面向对象的编程语言。20世纪60年代开发的Simula语言首次提出了对象的概念,并使用了类,也支持类的继承,它是第一个面向对象过程设计语言。最具有代表性和影响力的面向对象过程设计语言是由美国Xerox(施乐)公司开发的Smalltalk语言,Smalltalk语言全面实现了面向对象技术的机制,丰富了面向对象的概念,它的发布引起了人们对面向对象概念的广泛关注。随后产生了多种面向对象的程序设计语言,如C++和JAVA等。目前面向对象的分析和设计方法也被广泛应用于软件设计开发中。
面向对象程序设计具有许多优点,具体表现如下。
(1)与人类习惯的思维方式一致。传统的程序设计技术是面向过程的设计方法,以算法为核心,把数据和过程作为相互独立的部分,数据代表问题空间中的载体,程序代码用于处理数据。这样的设计忽略了数据和操作之间的内在联系,问题空间和解空间并不一致。
面向对象技术以对象为核心,尽可能接近人类习惯的抽象思维方法,并尽量一致的描述问题空间和描述解空间。对象分类,从特殊到一般,建立类等级,获得继承等开发过程,符合人类认识世界,解决问题的过程。(https://www.daowen.com)
(2)稳定性好。面向对象方法用对象模拟问题域中的实体,以对象间的联系刻画实体的联系。当系统的功能需求变化时不会引起软件结构的整体变化,只需做局部的修改。由于现实世界中的实体是相对稳定的,因而,以对象为中心构造的软件系统也比较稳定。
(3)开发时间短,效率高,可靠性高。面向对象技术可以重复使用一个对象类。如创建类的实例,直接使用类;又如派生一个当前需要的新类,子类可以重用其父类的数据结构和程序代码,方便地进行修改和扩充,而且子类的修改并不影响父类的使用。
所开发的程序更强壮。由于面向对象编程的可重用性,可以在应用程序中大量采用成熟的类库,从而缩短了开发时间。
(4)较易开发大型软件产品。面向对象技术开发大型软件时,把大型产品看作是一系列相互独立的小产品,降低了开发时技术和管理方面的难度。
(5)可维护性好。由于面向对象的软件稳定性比较好,容易修改,容易理解,易于测试和调试,因而软件的可维护性好。