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

本文总结了面向对象的三大特征——封装、继承和多态。封装强调隐藏对象细节,提供公共接口;继承允许创建子类,提高了代码复用,展现体系结构;多态则实现了编译时的统一标准,运行时的实际类型运行,增强了代码的灵活性。同时讨论了继承如何在一定程度上破坏封装性,并提到了多态中对象的编译类型和运行类型概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、知识点概念

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

    • 继承的作用:
      (1)提升代码的重复使用;
      (2)表现出一种体系(层次)关系(在Java API文档中可以看到体现)。
      在这里插入图片描述
  2. 封装:隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读取和修改的访问级别。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值