java学习笔记——“面向对象”和“基于对象”

1.“面向对象”和“基于对象”

详细理解看前半部分;考试/面试答案直接看后半部分。

1.1 详细理解:

  1.1.1 简单对比:

    面向对象具有三个特征:封装、继承、多态。

    基于对象只有:封装。

    所以,两者共同点:封装。不同点:继承、多态。最本质的不同:继承。

 1.1.2  详细解释:

    首先,解释几个名词:

    对象:属性和行为的集合体,即具有某些属性,可以实现某些行为。是抽象形成的一个整体。如将猪定义为一个对象,它具有一些属性:重量、年龄、性别等。它也有一些行为:如吃饭、睡觉等。当然,这里定义的是一个类,猪是一个类。那么我通过new方法产生了一头猪:佩奇。佩奇就是一个对象。

              再仔细解释一下类和对象之间的关系:对象是面向对象方法中最基本的概念,它的基本特点是:标识唯一性、分类性、多态性、封装性、模块独立性好。类是具有共同属性、共同方法的对象的集合。类是对象的抽象:对象则是类的实例。而类是整个软件系统最小的程序单元,类的封装性将各种信息细节隐藏起来,并通过公用方法来暴露该类对外提供的功能,从而提高了类的内聚性,降低了对象之间的耦合性。

    封装:封装将对象的实现细节隐藏起来,并通过一些公用方法来暴露该对象的功能。即让使用者知道可以实现某个功能,却不必了解具体的实现方法。比如:猪吃饭的方法,这个方法需要使用者提供食物,该方法的目的是使猪处于饱的状态。那么使用者只要提供食物并调用该方法即可,并不需要关心猪是怎么吃饭的,吃了几口,如何咀嚼等。

    继承:继承是指一个类可以通过继承成为另一个类的孩子,即子类,被继承的称为父类。子类直接获得父类的属性和方法,同时也可以拥有自己单独的不同于父类的属性和方法。

    多态:多态指的是子类对象可以直接赋给父类变量,但运行时依然表现出子类的信给我特征,这意味着同一个类型的对象在运行时可能表现出不同的行为特征。

    “面向对象”和“基于对象”的相同之处在于都存在对象的概念,都具有“封装”这一特征。但是“基于对象”不存在“继承”,即无法利用现有的对象模板产生新的对象类型,也自然无法继承产生新的对象。而“多态”表示为父类类型的子类实例,没有继承自然也就没有多态。即“面向对象”必然会有封装、继承、多态三个特征,而“基于对象”只有封装。例如JavaScript语言是基于对象的,它使用一些封装好的对象,调用对象的方法,设置对象的属性,但无法派生新的对象类型,只能使用现有对象的方法和属性。

注:部分参考《疯狂JAVA讲义》

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值