java

导航

Java培训中面向对象是什么?

来源 :中华考试网 2020-10-20

  与C对比的话,Java的最大特点是它是一种面向对象的语言,那么面向对象到底是什么意思?今天就来简单聊一聊。

  现实世界中,随处可见的一种事物就是对象,对象是事物存在的实体,如人类、书桌、计算机、高楼大厦等。人类解决问题的方式总是将复杂的事物简单化,于是就会思考这些对象都是由哪些部分组成的。通常都会将对象划分为两个部分,即动态部分与静态部分。静态部分,顾名思义就是不能动的部分,这个部分被称为“属性”,任何对象都会具备其自身属性,如一个人,它包括高矮、胖瘦、性别、年龄等属性。然而具有这些属性的人会执行哪些动作也是一个值得探讨的部分,这个人可以哭泣、微笑、说话、行走,这些是这个人具备的行为(动态部分),人类通过探讨对象的属性和观察对象的行为了解对象。

  这打个比方,把写一个程序想象成做一张桌子:

  使用面向过程的思路:桌子,要用木头做,所以我要种树,树种好了,我要砍木头;可是没铁,开个铁矿先;有矿石了,造个炼铁房;炼好铁,做成锯子,锯木,做铁锤,做钉子;但是我不会装桌子,去学学木工,最后桌子做好了。

  接下来是面向对象:我要做桌子,要木头,直接从建材市场买;没铁钉铁锤,直接从五金商店买;不会装桌子,直接请个木工,桌子完成。

  所谓面向对象,如上例,我要木头,从建材市场这个对象拿,调用建材市场这个对象中出售木头这个方法,返回我一个木头,至于建材市场的木头哪来的,我不知道,也不用知道,为什么这个社会有各行各业?他们全都是对象,都有一个方法,返回该职业能返回给社会的事物,之所以说面向对象更接近于人的正常思维,妙处就在这,我们把能拿到我们想要的东西的出处抽取成一个对象,我们直接访问它,拿到我们要的东西,它又从它该拿到东西的对象处拿东西,看似互不相干,却又有很多关系,这就是面向对象,每一个对象,一个方法,只做它自己该做的事,其他的,交给其他的方法,其他的对象。

  面向对象相比面向过程,更接近于人的思维,而复杂的活则更多地交给编译器去做,虽然可能由于编译器不够智能而使得最终重新效率偏低,但是却加快了程序员的工作效率。

分享到

相关资讯