面向对象的基本特征

面向对象的基本特征

面向对象有三个基本特征:封装(Encapsulation)、继承(Inheritance)、和多态(Polymorphism),其中,

  • 继承是面向对象实现软件复用的重要手段,当子类继承父类之后,子类作为一种特殊的父类,将直接获得父类的属性和方法
  • 封装是指将对象的实现细节隐藏起来,然后通过一些公用的方法来暴露该对象的功能
  • 多态指的是子类对象可以直接赋值给父类变量,单运行时依然表现出子类的行为特征,这意味着同一个类型的对象在运行时可能表现出不同的行为特征。

    除此之外,抽象也是面向对象的重要部分,抽象就是忽略一个主题中与当前目标无关的那些方面,以便充分的注意与当前目标有关的方面,抽象并不打算了解全部问题,而只是考虑部分问题。例如我们需要考察Person实体时,我们不可能在程序中将Person的所有细节都定义出来,通常只能定义Person的部分数据、部分行为特征–而这些数据、行为特征是软件系统所关系的部分。

    对象是面向对象方法中的基本概念,它的基本特点有:标识唯一性、分类性、多态性、封装性、模块独立性好。
    累是具有共同属性、共同方法的对象集合。类是对象的抽象;对象则是类的实例。而类是整个软件系统最小的程序单元,类的封装性将各种信息细节隐藏起来,并通过公用方法来暴露该类对外所提供的功能,从而提高了类的内聚性,降低了对象之间的耦合性。
    对象间的这种相互配合需要一个机制协助进行,这样的机制称为“消息”。消息是一个实例与另一个实例之间传递信息。
    在面向对象的方法中,类之间共享属性和操作的机制称为继承。已有的类可当做基类来引用,则新类相应的可当做派生类来引用。继承具有传递性。可分为单继承(一个继承只允许有一个直接父类,即类登记为树形结构)与多继承(一个类允许有多个直接父类)。*因为多重继承可能引起继承结构的混乱,大大降低程序的可理解性,所以Java不再支持多继承。

    还有一种“基于对象”的概念,这两个概念极易混淆:通常而言“基于对象”也使用了对象,但是无法利用现有对象模板产生新的对象类型,姐继而产生新的对象,也就是说,“基于对象没有继承的特点”,而“多态”表示为父类类型的子类对象实例,没有了继承的概念也就无法谈论“多态”。而面向对象的三大基本特征(继承、封装、多态)缺一不可,例如JavaScript语言就是基于对象的,它使用一些封装好的对象,调用类的对象方法,设置对象的属性。但是它们无法让开发者派生新的对象类型。它们只能使用现有对象的方法和属性。

    “面向对象”和“基于对象”都事先了“封装”的概念,但是面向对象事项了“继承和多态”,而“基于对象”没有实现这些。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值