面向对象程序设计

来源:互联网 发布:免备案1元域名 编辑:程序博客网 时间:2024/06/10 08:29

面向对象程序设计模式

定义:面向对象程序设计是一种方法,这种方法为数据和函数提供共同的独立内存空间,这些数据和函数可以作为模板以便在需要时创建类似模块的拷贝。这样的程序设计方法称为面向对象程序设计。

从以上定义可以看到,一个对象被认为是计算机内存中的一个独立区间,在这个区间中保存着数据和能够访问数据的一组操作。因为内存区间是相互独立的,所以对象可以不经修改就应用于多个不同的程序中。

OOP把数据看作程序开发中的基本元素,并且不允许它们在系统中自由流动。它将数据和操作这些数据的函数紧密的连结在一起,并保护数据不会被外界的函数意外的改变。OOP允许我们将问题分解为一系列实体——这些实体被称为对象(object),然后围绕这些实体建立数据和函数。

一个对象的数据不能访问其它对象的函数,而一个对象的函数可以访问其它对象的函数。

面向对象程序设计的一些显著的特性包括:

·程序设计的重点在于数据而不是过程;
·程序被划分为所谓的对象;
·数据结构为表现对象的特性而设计;
·函数作为对某个对象数据的操作,与数据结构紧密的结合在一起;
·数据被隐藏起来,不能为外部函数访问;
·对象之间可以通过函数沟通;
·新的数据和函数可以在需要的时候轻而易举的添加进来;
·在程序设计过程中遵循由下至上(bottom-up)的设计方法。

什么是面向对象程序设计?

面向对象程序设计(OOP)技术汲取了结构化程序设计中好的思想,并将这些思想与一些新的、强大的理念相结合,从而给你的程序设计工作提供了一种全新的方法。通常,在面向对象的程序设计风格中,你会将一个问题分解为一些相互关联的子集,每个子集内部都包含了相关的数据和函数。同时,你会以某种方式将这些子集分为不同等级,而一个对象就是已定义的某个类型的变量。当你定义了一个对象,你就隐含的创建了一个新的数据类型。

面向对象程序设计中的基本概念

1、对象(Object)
2、类(Class)
3、数据抽象(Data abstraction)
4、继承(Inheritance)
5、动态绑定(Dynamic binding)
6、数据封装(Data encapsulation)
7、多态性(Polymorphism)
8、消息传递(Message passing)

面向对象设计的优点

1、通过继承,我们可以大幅减少多余的代码,并扩展现有代码的用途;
2、我们可以在标准的模块上(这里所谓的“标准”指程序员之间彼此达成的协议)构建我们的程序,而不必一切从头开始。这可以减少软件开发时间并提高生产效率;
3、数据隐藏的概念帮助程序员们保护程序免受外部代码的侵袭;
4、允许一个对象的多个实例同时存在,而且彼此之间不会相互干扰;
5、允许将问题空间中的对象直接映射到程序中;
6、基于对象的工程可以很容易的分割为独立的部分;
7、以数据为中心的设计方法允许我们抓住可实现模型的更多细节;
8、面向对象的系统很容易从小到大逐步升级;
9、对象间通讯所使用的消息传递技术与外部系统接口部分的描述更简单;
10、更便于控制软件复杂度。

当需要将以上所说的所有特性有机的结合于一个面向对象系统中,它们之间的相对重要性就取决于工程的类型和程序员的喜好。为了获得上述的某些优势,必须考虑很多事情。例如,对象库必须可以被重用。技术还在不停的发展,现有的产品也会很快的更新换代。如果重用没有能够实现,那么就需要进行严格的控制和管理。
易于使用的开发软件往往难以编写。面向对象程序设计工具有望解决这个问题。

OOP的应用

OOP最有前途的应用领域如下:
1、实时系统;
2、仿真和建模;
3、面相对象数据库;
4、超文本、超媒体和扩展文本;
5、AI和专家系统;
6、神经网络和并行程序设计;
7、决策支持和办公自动化系统;
8、CIM/CAM/CAD系统。


原创粉丝点击