面向对象思想

author author     2022-09-30     205

关键词:

面向对象思想的起源

 面向对象(Object-Oriented)思想最初起源于20世纪60年代末的simula67语言。面向对象方法的基本要点首次在simula语言中得到了表达和实现。80年代,位于美国加州的Xerox研究中心推出smalltalk语言及其程序设计环境,使得面向对象程序设计方法得到比较完善的实现,掀起了面向对象研究的高潮。到80年代中后期,面向对象的软件设计和程序设计方法已发展成为一种成熟有效的软件开发方法。

伴随着面向对象思想的不断升华,作为思想的产物,面向对象编程语言也不断发展。

1972年贝尔实验室的科学家Dennis MacAlistair Ritchie(D.M.Ritchie - DM里奇)在B的基础上设计出了C语言,这是一门面向过程的高级语言,它曾经纵横四海,直到如今各大编程语言争夺市场,她的影响力也从未消减。1983 年,依旧是贝尔实验室的人,Bjarne Stroustrup(本贾尼·斯特劳斯特卢普) 在C语言的基础上推出了C++,它扩充和完善了C语言,使得C++可以以面向对象的方式编程。1995 年,Sun公司的Patrick Naughton的工作小组研发了一门完全面向对象开发的语言,这门语言的取名和logo灵感来自爪哇岛上一种美味的咖啡,是的,她的名字是java,她的logo是一杯热气腾腾的咖啡,她的编程思想是如此善解人意,使得无数程序员为之倾心。微软也逐渐意识到,万物皆为对象是多么美妙的哲学思想, 2000 年,微软公司的Anders Hejlsberg(安德斯·海尔斯伯格)研发了C++++语言,完全面向对象,四个加号这么难看的名字配不上她的气质,于是我们把加号放在一块,没错,就是传说中的C#语言。

“面向对象”是针对“面向过程”一词提出的,是从本质上区别于传统的结构化方法的一种新方法,新思路。

 面向对象技术的基本原理是:按照问题域的基本事物实现自然分割,按人们通常的思维方式建立问题域的模型,设计尽可能直接自然表现问题求解的软件系统。

 为此,面向对象技术引入了对象(object)概念来表现事物,用消息(message)传递建立事物间的联系。用类(class)和继承(inheritance)作为适应人们一般思维方式的描述模型。用方法(method)表示作用在对象上的各种操作。

 

面向过程与面向对象

    用一个例子来说明两者在解决一个实际问题时候的区别,问题:用编程实现小明骑车去图书馆借《红楼梦》,再回家看书的业务。

    面向过程的方式:分几个步骤完成业务,1 小明骑车去图书馆 2 小明借书 3小明骑车回家 4小明看书

    面向对象的方式:创建类People ,带有姓名属性和三个方法:骑车(string 目的地);借书(string 书名);看书(string 书名)。之后就完成业务功能就清晰明朗了:  

People p = new People();

p.姓名=“小明”;

p.骑车(“图书馆”);

p.借书(“红楼梦”);

p.骑车(“家”);

p.看书(“红楼梦”);

 

分析:从上面事例中可以看出面向过程的结构化分析与面向对象的分析方式有着明显的不同,面向过程将整个业务分解为一个个具体的动作细节,而面向对象将事物属性与功能抽象成对象,再调用对象相应的功能去完成业务需求。粗一看上去感觉面向对象似乎让编程更加复杂了,因为在这个问题实现上它做了更多的处理。其实不然,当我们面临一个庞大的项目,面临更为复杂多变的业务需求时,就能感受到面向对象真正的强大。

面向过程的劣势

面向过程的设计和人的自然思维很不一致,因此对现实世界的认识与编程之间无法形成和谐的统一性。系统围绕着如何实现一定的行为来进行,当系统行为易变,需要常常修改时,修改极为困难。而造成这种情况的原因,一是在系统中模块之间的控制作用有重要影响时,由的模块间的控制作用只能通过上下之间的调用关系来进行,造成信息传递路径过长,效率低,易受干扰,甚至出错。另外,自顶向下功能分解的分析方法极大地限制了软件的可重用性。

面向对象的思维

用面向对象的思维去思考问题。当我们要完成某一件事情,我们并不一定要自己学会十八般武艺,再去把问题解决。正确的做法应该是根据对应的事情找到已经学会了处理此事情的对象,让这个对象去处理。

所以说面向对象处理的逻辑就是有事找已有对象,找不到创造新对象(类)。

面向对象哲学

有部电影叫《黑客帝国》。电影中的程序世界里,每个事物都是代码中的对象,大到宇宙恒星,小到微观原子,凡是可以被描述的,或者凡是有独立功能的,又或者凡是可以与外物交流的,都可以在编程中抽象为对象。唯物主义认为世界的本源是物质,精神是物质的产物和反映。因此,事无大小不可抽象,物无宏微不是对象。

面向对象的思想也是管理的思想,人尽其用,物尽其材,不过是合理调用了对象方法。空旷纳百川,哺育孕星际;一花一世界,一叶一菩提。大千世界,芸芸众生之间,你我何尝不是对象,配好属性,学些方便为人调用的方法。

06面向对象思想概述

06.01_面向对象(面向对象思想概述)(了解)A:面向过程思想概述第一步第二步B:面向对象思想概述找对象(第一步,第二步)C:举例买煎饼果子洗衣服D:面向对象思想特点a:是一种更符合我们思想习惯的思想(懒人思想,我把事情自己不做,... 查看详情

关于java面向对象编程和面向接口编程区别

向大家问下关于java面向对象编程和面向接口编程思想区别,面向对象就是模拟真实世界,把真实事物抽象成类,操作实例..而面向接口编程了,好处...?主要的思想...?怎样去用面向接口的思维去开发一个程序...?Struggle说得对。... 查看详情

java面向对象的思想

1.面向对象思想面向对象是基于面向过程的编程思想。面向过程:强调的是每一个功能的步骤面向对象:强调的是对象,然后由对象去调用功能2.面向对象的思想特点A:是一种更符合我们思想习惯的思想B:可以将复杂的事情简单... 查看详情

面向对象思想概述

概述Java语言是一种面向对象的程序设计语言,而面向对象思想是一种程序设计思想,我们在面向对象思想的指引下,使用Java语言去设计、开发计算机程序。这里的对象泛指现实中一切事物,每种事物都具备自己的属性和行为。... 查看详情

面向对象思想初识概述

概述Java语言是一种面向对象的程序设计语言,而面向对象思想是一种程序设计思想,我们在面向对象思想的指引下,使用Java语言去设计、开发计算机程序。这里的对象泛指现实中一切事物,每种事物都具备自己的属性和行为。... 查看详情

面向对象思想

一面向对象思想的起源 面向对象(Object-Oriented)思想最初起源于20世纪60年代末的simula67语言。面向对象方法的基本要点首次在simula语言中得到了表达和实现。80年代,位于美国加州的Xerox研究中心推出smalltalk语言及其程序设计环... 查看详情

java面向对象思想1

1.面向对象是面向过程而言.两者都是一种思想。面向过程:强调的是功能行为。(强调过程、动作)面向对象:将功能封装进对象,强调了具备了功能的对象。(强调对象、事物)面向对象是基于面向过程的。将复杂的事情变简... 查看详情

面向对象思想

什么是面向对象思想?java语言是一种面向对象的程序设计语言,而面向对象思想是一种程序设计思想。这里的对象泛指现实中的一切事物,每种事物都具有自己的属性和行为。面向对象思想就是在计算机程序设计过程中,参照... 查看详情

java面向对象大致梳理

面向对象思想、面向对象思想概述:Java设计语言面向对象:Java语言是一种面向对象的程序设计语言,而面向对象思想是一种程序设计思想,我们在面向对象思想的指引下,使用Java语言去设计、开发计算机程序。这里的对象泛指... 查看详情

java基础面向对象思想(代码片段)

文章目录1.面向对象思想1.1面向对象思想概述1.2类和对象1.3类的定义1.4对象的使用1.5对象内存图1.6成员变量和局部变量区别2.封装2.1封装概述2.2private关键字2.3this关键字2.4构造方法2.5标准代码——JavaBean3.包3.1创建包3.2调用包1.面向... 查看详情

java基础面向对象思想(代码片段)

文章目录1.面向对象思想1.1面向对象思想概述1.2类和对象1.3类的定义1.4对象的使用1.5对象内存图1.6成员变量和局部变量区别2.封装2.1封装概述2.2private关键字2.3this关键字2.4构造方法2.5标准代码——JavaBean3.包3.1创建包3.2调用包1.面向... 查看详情

什么是面向对象思想

 什么是面向对象思想2016-12-1315:02 393人阅读 评论(0) 收藏 举报 分类: 版权声明:本文为博主原创文章,未经博主允许不得转载。 面向对象是一种思想,是基于面向过程而言的,就是说面向对象是将... 查看详情

编程思想:面向对象和面向过程

  何谓面向对象?何谓面向过程?对于这编程界的两大思想,一直贯穿在我们学习和工作当中。我们知道面向过程和面向对象,但要让我们讲出来个所以然,又感觉是不知从何说起,最后可能也只会说出一句就是那样啦,你知... 查看详情

面向对象思想

  查看详情

java基础06面向对象

1.面向对象思想概述面向过程思想概述第一步第二步面向对象思想概述找对象(第一步,第二步)举例买煎饼果子洗衣服面向对象思想特点是一种更符合我们思想习惯的思想可以将复杂的事情简单化将我们从执行者变成了指挥者角... 查看详情

编程思想_用minercraft来讲解面向过程与面向对象(代码片段)

c++_两大编程思想:面向过程与面向对象——初识面向对象!!!这篇文章主要学习面向对象和面向过程的思想,面向对象的具体实现将在后续文章出现面向对象是一种编程思想,2大编程思想其中一个就是... 查看详情

面向对象概述(代码片段)

1.1面向对象思想1.1.1面向过程思想与面向对象思想A:什么是面向过程面向过程,其实就是面向着具体的每一个步骤和过程,把每一个步骤和过程完成,然后由这些功能方法相互调用,完成需求。例如:吃煎饼果子利用面向过程的思... 查看详情

面向对象思想

面向对象思想:一切事物都可看做对象三大特性:封装、继承、多态五大原则作用:将现实生活中的实际存在的东西,抽象提取成程序中的类,对类进行统一的操作好处:1、程序的结构非常清晰2、易于维护,便于功能扩展3、让... 查看详情