面向对象中封装、继承、多态的概念总结-Java学习笔记

目录

  • 一、知识点概念

一、知识点概念

  1. 继承:继承就是基于某个父类对对象的定义加以扩展,而产生新的子类定义,子类可以继承父类原来的某些定义,也可以增加原来父类中没有的定义,或覆盖父类中不满足子类需求的功能(从一般到特殊的过程)。

    • 继承的作用:
      (1)提升代码的重复使用;
      (2)表现出一种体系(层次)关系(在Java API文档中可以看到体现)。
      面向对象中封装、继承、多态的概念总结-Java学习笔记_第1张图片
  2. 封装:隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读取和修改的访问级别。

    • 个人的理解:封装就是要做到将字段私有化,将方法尽可能的私有化,对外暴露便捷的公共方法供外界访问本类中的其他成员,封装可以提高本类的内聚性,降低类之间的耦合性。
    • 继承破坏封装性:(我对这个不是很理解在网上找到了几种说法罗列在下面供各位参考)
      (1)继承时可以一定程度上(根据权限)访问父类内部实现细节和方法,违背了封装的定义;
      (2)对父类的修改直接影响到了子类,体现了对封装的影响,所以在软件设计上优先考虑使用组合,再考虑继承;
      (3)是因为属性的访问修饰符被修改,使得属性在本包和子类里可以任意修改属性的数据,数据的安全性从而得不到保障。
  3. 多态:多态就是把子类对象赋值给父类(实现的接口)类型的变量,在编译时期是以父类(或接口)类型为标准去编译,在运行时是以父类(或接口)变量的真实类型去运行的,在编译时期可以屏蔽子类之间的实现差异,从而做到通用编程,也起到了代码复用的功能。

    • 解释对象的两种类型:有代码(SuperClass sc = new SubClass();)SubClass继承与SuperClass。
      • 对象 sc 有两种类型
        (1)编译类型:声明对象变量的类型 ,既SuperClass类型;
        (2)运行类型:对象的真实类型,既SubClass类型。

你可能感兴趣的:(Java学习记录)