面向对象,面向过程 ,以及基于对象--概念比较

在学习java初期时候,经常会接触  "java是一种面向对象语言,而不是面向过程的语言"  那什么是面向对象,什么是面向过程呢?

 面向对象:

        面向对象,顾名思义,是从"对象"出发去思考的,所以叫面向 对象 ,在java中有一句话叫"万物皆对象",那么,为什么万物会皆对象呢?是因为,java语言认为所有事情都能够抽象的,抽象是什么?在小学语文中,那称之为总结,提炼(把想要归类的东西,提取一些共同的属性和方法(其实就是特征,以及行为))

    例如:

        抽取                人(特征:眼,耳,口,鼻   行为:睡觉,吃饭,刷牙)

        对象:      男人          女人

在上面的例子,可以看出,我面向这些对象都有一些共通特征:不管男人,女人都会有眼耳口鼻(天然属性,只要是人都会有),而且都会睡觉,吃饭,刷牙(行为)

那么面向对象有什么好处?为什么会出来这种思维呢?

那要提到面向过程了

 面向过程:

    还是顾名思义,面对过程,就是从过程出发,去思考问题的.

    例如我想要 鲜榨橙汁.面对过程思维去编写程序的话就是---

    榨橙汁  [1.先要有橙子  2,把橙子放进去榨汁机,3找杯子 4.用杯子去装橙汁]("注意为什么用[  ]去括起来")

这样一个榨橙汁程序就写好了,不过有个缺点就是,如果当我想榨苹果汁怎么办?榨橙子已经打包成一个不可分割的程序了(这就是为什么用[  ]包裹起来),重新再写一个榨苹果汁呗

    榨苹果汁  [1.先要有苹果  2,把苹果放进去榨汁机,3找杯子 4.用杯子去装苹果汁]

这样就显得非常多余重复,因为有些只要有需求变更,程序就要重新写过了,为了解决这种低效率的(提高复用性)事情,采用对象的思维就好很多了

 面向对象以及面向过程区别:

    面向对象:

        这个过程当中,出现的物品有:苹果(橙汁),榨汁机,    两样东西(杯子不做讨论),把他们都抽取对象

1.关于苹果(橙子)

    抽象              水果

    对象         苹果        橙汁


2.关于榨汁机

    抽象               机器[行为:榨汁(水果)]

    对象               榨汁机

面想对象的程序中:

1.     找到苹果/橙子

2.    放进榨汁机(苹果/橙子)

3.    榨出相对应的汁(苹果/橙子)

    *这样程序的代码量就写少很多了,因为每次我需要用到榨汁机,我直接使用榨汁机,然后把相对应的水果代码放进就好了.

    *简单来说  提高复用性


基于对象(用于js语法当中):

       基于对象跟面向对象不一样,一个是'面向',一个是'基于'.

        怎么去理解"基于"呢?  ----:"从这里出发"

        基于对象,就是从对象出发, 面向对象,是面向着对象,然后抽取出一个公共部分("类"),所以我个人更认为---万物皆是类.而基于对象的话,就不存在抽取公共部分这说法,所以也不存在'类'这个说法了. 

        

        

面向对象以及基于对象区别

    什么是"从这个对象出发"(基于对象)呢?

   用一个建造房子作为比喻来区分面向对象,以及基于对象,

   基于对象:

            直接给我一个空白的房子了,我在这个房子(基于这个对象)上,加什么东西都可以.怎么改造都可以,它是独一无二的.

    面向对象:

            当我要一个三居室的房子,我就需要先有一个公共类(建筑物),然后继承公共类的所有行为与属性之后,再去敲定我想要怎么样的三居室,甚至存在一种情况,我的三居室的格局,已经被公共类提前限制了.所以我并不能拥有我的理想三居室.

    *他们之间的区别在于,是否存在  '能'继承的特性.所以术语上来说,基于对象不存在多态,以及继承的特性,而是否能继承,上述两个例子给出的自身的优势以及局限.


    本人菜鸟coder,如果有表示的不对的地方,各位大神敬请留言指正. 

    本人会迅速修正以免误人子弟哈



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值