软考

软考中级项目集成管理工程师——面向对象

2024-08-10 17:34:47
在软件开发的漫长历程中,面向对象编程无疑是一场革命性的变革。它不仅改变了程序员思考问题的方式,也将软件设计推向了一个全新的高度。本文将深入探讨面向对象编程的基本原理,以及如何在实际开发中运用这些原则,帮助你构建更加健壮、灵活的软件系统。

 

面向对象的基本思想

面向对象是一种新兴的程序设计方法,或者是一种新的程序设计规范(paradigm),其基本思想是使用对象、类、继承、封装、消息等基本概念来进行程序设计。从现实世界中客观存在的事物(即对象)出发来构造软件系统,并且在系统构造中尽可能运用人类的自然思维方式。开发一个软件是为了解决某些问题,这些问题所涉及的业务范围称作该软件的问题域。其应用领域不仅仅是软件,还有计算机体系结构和人工智能等。

 

对象的基本概念

对象是系统中用来描述客观事物的一个实体,它是构成系统的一个基本单位。一个对象由一组属性和对这组属性进行操作的一组服务组成。主动对象是一组属性和组服务的封装体,其中至少有一个服务不需要接收消息就能主动执行(称作主动服务)

 

类的基本概念类

是具有相同属性和服务的一组对象的集合,它为属于该类的所有对象提供了统一的抽象描述,其内部包括属性和服务两个主要部分。在面向对象的编程语言中,类是一个独立的程序单位,它应该有一个类名并包括属性说明和服务说明两个主要部分。

消息

消息就是向对象发出的服务请求,它应该包含下述信息:提供服务的对象标识、服务标识、输入信息和回答信息。服务通常被称为方法或函数。

封装性

封装性就是把对象的属性和服务结合成一个独立的相同单位,并尽可能隐蔽对象的内部细节,包含两个含义:

把对象的全部属性和全部服务结合在一起,形成一个不可分割的独立单位(即对象)

信息隐蔽,即尽可能隐蔽对象的内部细节对外形成一个边界(或者说形成一道屏障),只保留有限的对外接口使之与外部发生联系。

封装的原则在软件上的反映是:要求使对象以外的部分不能随意存取对象的内部数据(属性)从而有效的避免了外部错误对它的"交叉感染",使软件错误能够局部化,大减少查错和排错的难度

继承性

特殊类的对象拥有其一般类的全部属性与服务,称作特殊类对一般类的继承。

一个类可以是多个一般类的特殊类,它从多个一般类中继承了属性与服务,这称为多继承。

在java语言中,通常我们称一般类为父类(superclass,超类),特殊类为子类(subclass)。

多态性

对象的多态性是指在一般类中定义的属性或服务被特殊类继承之后,可以具有不同的数据类型或表现出不同的行为。这使得同一个属性或服务在一般类及其各个特殊类中具有不同的语义。例如:"几何图形"的"绘图"方法,"椭圆"和"多边形"都是"几何图"的子类,其"绘图"方法功能不同

 

面向对象的程序设计方法

OOA-Object Oriented Analysis面向对象的分析

OOD-Object Oriented Design面向对象的设计

OOI-Object Oriented lmplementation面向对象的实现

 

通过本文的讲解,我们不仅领略了面向对象编程的精髓,更意识到了它在现代软件工程中的重要地位。让我们带着面向对象的思维,踏上成为软件大师的旅程,共同创造更加精彩的数字世界。

相关资讯