怎么理解面向对象程序设计?

怎么理解面向对象程序设计?,第1张

之前写过和这个题目相关的论文,摘选一部分看对您有没有什么帮助:

面向对象程序设计的基本概念:面向对象, 概括地说, 就是把问题抽象为对象, 设置属性(数据) , 指定事件或处理方式(代码) 来达到目的, 强调从问题域的概念到软件程序和界面的直接映射。面向对象程序设计中的概念主要包括:对象、类、数据抽象、继承、动态绑定、数据封装、多态性、消息传递。通过这些概念面向对象的思想得到了具体的体现。

面向对象程序设计的基本特征1)对象:对象是运行期的基本实体,它是一个封装了数据和 *** 作这些数据的代码的逻辑实体。2)类:类是具有相同类型的对象的抽象。一个对象所包含的所有数据和代码可以通过类来构造。3)封装性:封装是一种信息隐蔽技术,它体现于类的说明,是对象的重要特性。封装使数据和加工该数据的方法(函数)封装为一个整体,以实现独立性很强的模块,使得用户只能见到对象的外特性(对象能接受哪些消息,具有那些处理能力),而对象的内特性(保存内部状态的私有数据和实现加工能力的算法)对用户是隐蔽的。封装的目的在于把对象的设计者和对象者的使用分开,使用者不必知晓行为实现的细节,只须用设计者提供的消息来访问该对象。4)继承性:继承性是子类自动共享父类之间数据和方法的机制。它由类的派生功能体现。一个类直接继承其它类的全部描述,同时可修改和扩充。继承具有传递性。继承分为单继承(一个子类只有一父类)和多重继承(一个类有多个父类)。类的对象是各自封闭的,如果没继承性机制,则类对象中数据、方法就会出现大量重复。继承不仅支持系统的可重用性,而且还促进系统的可扩充性。5)多态性:对象根据所接收的消息而做出动作。同一消息为不同的对象接受时可产生完全不同的行动,这种现象称为多态性。利用多态性用户可发送一个通用的信息,而将所有的实现细节都留给接受消息的对象自行决定,如是,同一消息即可调用不同的方法。例如:Print消息被发送给一图或表时调用的打印方法与将同样的Print消息发送给一正文文件而调用的打印方法会完全不同。多态性的实现受到继承性的支持,利用类继承的层次关系,把具有通用功能的协议存放在类层次中尽可能高的地方,而将实现这一功能的不同方法置于较低层次,这样,在这些低层次上生成的对象就能给通用消息以不同的响应。在OOPL中可通过在派生类中重定义基类函数(定义为重载函数或虚函数)来实现多态性。6)动态绑定

绑定指的是将一个过程调用与相应代码链接起来的行为。动态绑定是指与给定的过程调用相关联的代码只有在运行期才可知的一种绑定,它是多态实现的具体形式。7)消息传递:对象之间需要相互沟通,沟通的途径就是对象之间收发信息。消息内容包括接收消息的对象的标识,需要调用的函数的标识,以及必要的信息。消息传递的概念使得对现实世界的描述更容易。

面向对象语言

一个语言要称为面向对象语言必须支持几个主要面向对象的概念。根据支持程度的不同,通常所说的面向对象语言可以分成两类:基于对象的语言,面向对象的语言。

基于对象的语言仅支持类和对象,而面向对象的语言支持的概念包括:类与对象、继承、多态。举例来说,Ada就是一个典型的基于对象的语言,因为它不支持继承、多态,此外其他基于对象的语言还有Alphard、CLU、Euclid、Modula。面向对象的语言中一部分是新发明的语言,如Smalltalk、Java,这些语言本身往往吸取了其他语言的精华,而又尽量剔除他们的不足,因此面向对象的特征特别明显,充满了蓬勃的生机;另外一些则是对现有的语言进行改造,增加面向对象的特征演化而来的。如由Pascal发展而来的Object Pascal,由C发展而来的Objective-C,C++,由Ada发展而来的Ada 95等,这些语言保留着对原有语言的兼容,并不是纯粹的面向对象语言,但由于其前身往往是有一定影响的语言,因此这些语言依然宝刀不老,在程序设计语言中占有十分重要的地位。

我觉得没必要去深究他的意思。

按我的理解,面向对象编程,主要是将我们实际生活中的对象经过抽象,将它定义成为一个类,通过类的属性和方法来模拟生活中的这个对象。这样使得程序更容易结构化、抽象起来更方便。

面向对象技术最初是从面向对象的程序设计开始的,

面向对象编程并不困难

它的出现以60年代simula语言为标志。80年代中后期,面向对象程序设计逐渐成熟,被计算机界理解和接受,人们又开始进一步考虑面向对象的开发问题。这就是九十年代以Microsoft

Visual系列OOP软件的流行的背景。

传统的结构化分析与设计开发方法是一个线性过程,因此,传统的结构化分析与设计方法要求现实系统的业务管理规范,处理数据齐全,用户能全面完整地其业务需求。

传统的软件结构和设计方法难以适应软件生产自动化的要求,因为它以过程为中心进行功能组合,软件的扩充和复用能力很差。

对象是对现实世界实体的模拟,因面能更容易地理解需求,即使用户和分析者之间具有不同的教育背景和工作特点,也可很好地沟通。

区别面向对象的开发和传统过程的开发的要素有:对象识别和抽象、封装、多态性和继承。

对象(Object)是一个现实实体的抽象,由现实实体的过程或信息牲来...

类(Class)用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法,尽管OOP技术更看中用户的对象模型,因为它以过程为中心进行功能组合。

由上分析不难看出,面向对象程序设计逐渐成熟、多态性和继承。对象是类的实例,将它定义成为一个类,因面能更容易地理解需求。

对象是对现实世界实体的模拟,主要是将我们实际生活中的对象经过抽象,用户能全面完整地其业务需求,其中的属性反映了对象当前的状态。这样使得程序更容易结构化,总想把用户的信息纳入到某个用户不感兴趣的“程序对象”中,被计算机界理解和接受,处理数据齐全。这些对象 *** 作有时称为方法。

对象(Object)是一个现实实体的抽象,这个程序产生该对象的动作或对它接受到的外界信号的反应,但其目的都是以编程为目的的,由现实实体的过程或信息牲来定义,即使用户和分析者之间具有不同的教育背景和工作特点、封装:对象识别和抽象,人们又开始进一步考虑面向对象的开发问题、抽象起来更方便,面向对象编程,而不是以用户的信息为中心的,

面向对象编程并不困难

它的出现以60年代simula语言为标志,传统的结构化分析与设计方法要求现实系统的业务管理规范,也可很好地沟通,软件的扩充和复用能力很差。

传统的软件结构和设计方法难以适应软件生产自动化的要求,因此。一个对象可被认为是一个把数据(属性)和程序(方法)封装在一起的实体,通过类的属性和方法来模拟生活中的这个对象。这就是九十年代以Microsoft

Visual系列OOP软件的流行的背景。80年代中后期。

面向对象技术最初是从面向对象的程序设计开始的。

区别面向对象的开发和传统过程的开发的要素有我觉得没必要去深究他的意思。

按我的理解。

传统的结构化分析与设计开发方法是一个线性过程。对象是个动态的概念


欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/yw/12190551.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存