当前位置:首页 > > 正文

谈谈面向对象的看法?

  • 谈谈面向对象的看法?
  • 2024-03-29 02:50:30
  • 8655

简介面向对象是一种新兴的程序设计方法,或者说它是一种新的程序设计范型,其基本思想是使用对象,类,继承,封装,消息等基本概念来进行程序设计。面向对象方法作为一种新型的独具优越性的新方法正引起全世界越来越广泛...

面向对象是谈谈一种新兴的程序设计方法,或者说它是对象一种新的程序设计范型,其基本思想是谈谈使用对象,类,对象继承,谈谈封装,对象消息等基本概念来进行程序设计。谈谈面向对象方法作为一种新型的对象独具优越性的新方法正引起全世界越来越广泛的关注和高度的重视,它被誉为"研究高技术的谈谈好方法",更是对象当前计算机界关心的重点。十多年来,谈谈在对OO方法如火如荼的对象研究热潮中,许多专家和学者预言:正象70年代结构化方法对计算机技术应用所产生的谈谈巨大影响和促进那样,90年代OO方法会强烈地影响、对象推动和促进一系列高技术的谈谈发展和多学科的综合。 它是从现实世界中客观存在的事物(即对象)出发来构造软件系统,并在系统构造中尽可能运用人类的自然思维方式,强调直接以问题域(现实世界)中的事物为中心来思考问题,认识问题,并根据这些事物的本质特点,把它们抽象地表示为系统中的对象,作为系统的基本构成单位(而不是用一些与现实世界中的事物相关比较远,并且没有对应关系的其它概念来构造系统)。这可以使系统直接地映射问题域,保持问题域中事物及其相互关系的本来面貌。 它可以有不同层次的理解: 从世界观的角度可以认为:面向对象的基本哲学是认为世界是由各种各样具有自己的运动规律和内部状态的对象所组成的;不同对象之间的相互作用和通讯构成了完整的现实世界。因此,人们应当按照现实世界这个本来面貌来理解世界,直接通过对象及其相互关系来反映世界。这样建立起来的系统才能符合现实世界的本来面目。 从方法学的角度可以认为:面向对象的方法是面向对象的世界观在开发方法中的直接运用。它强调系统的结构应该直接与现实世界的结构相对应,应该围绕现实世界中的对象来构造系统,而不是围绕功能来构造系统。 从程序设计的角度来看,面向对象的程序设计语言必须有描述对象及其相互之间关系的语言成分。这些程序设计语言可以归纳为以下几类:系统中一切皆为对象;对象是属性及其操作的封装体;对象可按其性质划分为类,对象成为类的实例;实例关系和继承关系是对象之间的静态关系;消息传递是对象之间动态联系的唯一形式,也是计算的唯一形式;方法是消息的序列。

谈谈面向对象的看法?

什么是面向对象,有什么特点?

你好,

对象是人们要进行研究的任何事物,从最简单的整数到复杂的飞机等均可看作对象,它不仅能表示具体的事物,还能表示抽象的规则、计划或事件。

面向对象(Object-Oriented)是基于对象的、基于类的的软件开发思想。

打个比方,把大象装冰箱分3步,原来的思想是面向过程,就是开门,装冰箱,关门。

如果把兔子装冰箱就要在写一遍代码,但是,如果我们用面向对象的方法,把开门关门都写成函数,就可以直接调用,无论之后装什么东西,都只是对函数的调用。这里的兔子是对象,大象是对象,还有你不知道的之后的东西等等。

面向对象的特征或者是要素是:抽象、封装、继承和多态。

其中封装是非常重要的性质,也是面向对象必须提供的机制。封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面,面向对象计算始于这个基本概念。

下周一要考面向对象技术引论,键入一遍,印象深刻。

Java中面向对象到底是什么意思

在编程语言中,面向对象的使用是非常重要的,在PHP语言中也是用了很多年才获得这项技术。面向对象的出现是系统开发中一个伟大的改革,编程语言开始从应用程序回到数据上。面向对象将编程过程中焦点转向建模的真是实体上,让应用程序更加接近现实世界。下面电脑培训为大家主要介绍面向对象。

一、什么是面向对象

就像你是公司的总裁,你在做组装一组电脑的工作。也就是说,面向对象是抽象的执行,或者是由员工来完成。详细地说,总裁是不需要考虑这个问题。IT培训认为好处是显而易见的,高级别管理的公司可以在不管理高级别公司的情况下协调工作,只有少数几个具体实施的员工会陷入困境。

二、面向对象的特点

1、封装

隐藏对象的属性和实现细节,只向外部公开接口,控制程序中读取和修改属性的访问级别;将抽象数据和行为(或函数)组合成一个有机的整体,即将数据与操作数据的源代码有机地结合起来,形成一个“类”,其中数据和函数是类的成员。

2、继承

继承是从基类派生一个或多个类的机制。从另一个类继承的类称为该类的子类。这种关系经常被比作父亲和孩子。子类继承父类的属性。这些属性由属性和方法组成。北大青鸟认为子类可以增加父类以外的新函数,因此子类也称为父类的“展开”。

3、多态

多态性是指OOP根据使用类的上下文,可以重新定义类的性质或行为,或者接口的多种不同的实现方式是多态的。回龙观北大青鸟建议如果把不同的子对象看作是父类,则可以屏蔽不同子对象间的差异,写出通用的代码,进行通用的编程,适应需求的变化。

一.面向对象:

1.何谓对象:在面向对象程序设计中,我们将问题空间中的元素以及他们在方案空间中的的表示物称作对象(object)

Alan Kay总结了smalltalk中对象的5大基本特征:

所有的东西都是对象。

程序是一大堆对象的集合,他们通过消息传递,各个对象之间知道要做些什么。

每个对象都分配有自己的存储空间,可容纳其他对象。

每个对象都有一个类型。

同一类的所有对象能接收相同的消息。

-----而所有的编程语言的最终目的是提供一种抽象方法----

2.对象的接口:我们向对象发出请求是通过它的接口定义的,对象的类型决定了它的接口形式。

3.OOP中唯一关心的:就是接口是什么,就像汽车的发动机一样,我们不必要知道它的结构是什么,只要它能工作就行了。所有的程序是由一定的属性(数据)和行为(方法)组成的,不同的对象访问通过函数调用来完成,对象间的所有交流都是通过方法调用,通过对封装数据对象,很大程度上提高复用率。

4.对象的3个主要特征:

behavior—说明这个对象能做什么。

State—当对象施加方法时对象的反映。

Identity---与其他相似行为对象的区分标志,每一个对象有唯一的indentity, 而这3者是相互影响的。

5.面向对象中最重要的思想就是类,类是模板是蓝图,从类中构造一个对象,即创建了一个类的实例。(类好比一个建材市场,其中有许多子类--各种各样的装饰材料,而我们装修自己的房子就要选择我们需要的材料,(为了建立我们自己的程序,我们必须选 择我们需要的类)这个比喻可以很形象的解释类是什么。

6.类之间的关系:

依赖关系:use-a A类中的一个方法操作了另一个类中的对象。

聚合关系:has-a A类中的对象包含B类的对象。

继承关系:is-a A继承了B类,此时A类不仅有了B类的方法,还加入了自己的方法。以便我们创建我们自己需要的对象。

Java中定义的每一个类都必须继承另一个类,使用关键字extends,如果一个类在定义中不现实使用关键字extends,这个类就会隐式继承Object类。Object类又叫根超类,或基类。,我们从根超类继承来的叫子类。Java中每个类都是根超类的子类。

8.接口(interface)规定了可对特定的对象发出哪些请求。

9.继承=重新使用接口:创建出一个数据类型后,当需要新建立一个数据类型去实现相同的功能,是很没有意义的一件事,此时对其克隆后,再根据情况改进实现自己的目的就是继承。

10.封装:就是把数据和行为结合在一起在一个包中,并对对象使用者隐藏数据的实现过程。Java用3个关键字来设置边界,从而进行对数据的隐藏。Public(共有)的定义任何人都可使用.private(私有)意味着除你自己,类型创建者及那个类型的内部函数成员可以访问外其他任何人使用都会产生错误。Friendly(友好)

意味在包(package)中是可以访问的。(以上过程也可叫方案隐藏)

11.引用(Handle)操控对象:

当创建一个引用时必须要对其进行初始化

例: String s=”happy”(未建立连接)

String s=new string(“happy”)与一个新的对象连接使用new 。此句建立了一个引用,并且连接引用并初始化对象 赋值字符串“happy”.

12.对象的创建及存在时间:数据存放的地点

1:寄存器-速度快,数量少,在cpu内部,我们对寄存器没有控制权。

2:堆栈:驻留长规内存中,堆栈指针下移建立新的内存,上移释放内存。

3:堆:常用内存池,保存对象,有极大的灵活性,java的数据就存放在此,但是要以时间及效率为代价。Java的对象建立是在程序运行时才决定。而c++是在设计时建立对象。

对象的生存时间(lifetime)java提出的垃圾收集器可以很好的发现无须再用的对象,使用GC(grabage collector)垃圾收集器。清除对象,释放内存。

为此我们就要付出一定的运行期的开销。

13.在此我们就会有这样一个印象,一个程序只是一系列对象的集合,他们的方法将其他对象作为自己的变量使用.

14.主要类型: java的主要类型有:boolean,char,byte,short,int,long,float,double,void.这些主类型的大小都不随机器的结构变化而变化,提供了java很好的可移植性.

15.字段方法:字段又叫数据成员,成员函数又叫方法,java的全部工作就是定义类,制作累得对象及发送消息.

16.一个程序只是一系列对象的集合,他们的方法将其他的对象作为自己的变量使用,而且将消息发给那些对象.

17.名字的可见性:为了使名字不重复,作者可以定义自己的库,一般用自己域名的倒写形式 如: COM.:Leeak.utility.foidles

18.static关键字:即使没有创建对象,也需要一愕能调用的方法,此时可以使用static

19.java.lang默认自动的导入每个java程序中

20.OOP中对象使对属性和方法的封装,对象具有信息的隐蔽的性质,对细节的隐藏,对象只需要知道去这样做,而不知道如何做的细节,类的方法应谨慎控制对java数据的访问,可以用get读取方法,用set修改方法.

21:pakage:Java API中每个类和接口属于一个特定的包,包实际上市对类和接口进行组织的目录结构,提供了一种软件复用机制.

22.创建可复用的类得步骤:1.定义一个public类

2.选择一个包名,并把pakage语句加到可复用的类的源码中.

3.编译这个类.

4.把可复用的类导入其他程序中即可.

23.java中提出在类定义的括号外的仅有2个语句,pakage和import.

24.软件的复用性,软件的复用性就是利用紫的已有的,定义良好的的经过仔细测试的文档清晰的可移植的易于获得的软件构件开发新的软件.

以上就是java面向对象的一些基本术语的概述,其中的有些部分可以扩展的更深,看过think in java的 朋友就会有此种感觉.此文章向对初学者阐述了面向对象的基本概念.对已是java程序员的朋友可以对他们的基本知识做以回顾.