什么是OO,OOP的核心思想是什么?请简述你对OOP的理解

如题所述

面向对象编程(OOP)是一种编程方法,强调对象的抽象、封装、继承和多态。这一方法在九十年代成为软件开发的主流。面向对象的概念已经从程序设计和软件开发扩展到了数据库系统、交互式界面、应用结构、应用平台、分布式系统、网络管理结构、CAD技术和人工智能等领域。

OOP的核心思想在于将组件的实现与其接口分离,并使组件具有多态性。这种分离使得对象可以被看作是计算的基本单元,每个对象都有自己的名称、状态和接受外界消息的接口。对象的产生有两种基本方式:一种是以原型为基础产生新对象,另一种是以类为基础产生新对象。原型模型通过提供一个有代表性的对象来生成新的对象,而类则提供了一种通用的描述。

在OOP中,类与类型有关,因此一个类相当于从该类中产生的实例的集合。这种观点有时会带来一些矛盾,特别是在继承体系下,子类对象和父类对象之间的行为相融性可能难以达到。为此,OOP中引入了子类型(subtype)不等于子类(subclass)的概念。

此外,基于类、基于原型和基于元类的三种不同对象模型导致了许多不同的程序设计语言。C++和Java都是基于类的对象模型,但其他许多OOPL采用了完全不同的对象模型,这些模型从不同的角度诠释了OOP的内涵。

面向对象编程方法OOP强调的是清晰定义类之间的层次关系。然而,这种方法并没有解释这些关系的实质。相比之下,面向信息的对象设计(OOD)是基于用户信息的,而不是基于程序。

OOP强调在程序构造中语言要素的语法,你必须继承、使用类和对象,并让对象传递消息。而GP(通用编程)不关心你是否继承,它的起点是分析产品的分类。通过定义“相等”操作,你可以有一个通用的相等操作。对于对象的种类,需要定义操作的语义,以及应该向用户提供什么样的顺序序列。

在GP中,抽象的软件组件和它们的行为被用标准的分类学分类,目的是建造真实的、高效的和不依赖于语言的算法和数据结构。最终,这些组件的实现需要一种语言来实现,但基本概念是相同的。例如,二分查找和排序是通用的,而不同语言实现的容器语义会有所不同,但基本的语义分类是一致的。
温馨提示:答案为网友推荐,仅供参考
相似回答
大家正在搜