码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Java—封装、继承、多态


    文章目录

    • 三大特性:
    • 封装
    • 继承
    • 多态
      • 多态作用:
      • 多态实现的必要条件:
        • 注:
    • 动态绑定静态绑定区别:
    • 对多态的理解?

    ———————————————————————————

    三大特性:

    ①:封装 ②:继承 ③:多态

    封装

    • 封装就是将一个对象的属性隐藏起来,不允许外界直接访问,但是可以通过调用指定的方法进行访问(name域只能通过,get set方法访问) 好处:1.隐藏内部实现,提高安全性;2.具有一定的解耦性(因为暴露给外界的只是它的访问方法,可以在不影响使用的情况下改变类的内部结构)

    继承

    • 继承就是子类继承父类的方法和属性,而且可以拥有自己的方法,提高了代码的重用(对扩展是开放的),私有属性不能继承,但是可以通过子类继承父类的方法来访问父类的私有属性。

    多态

    • 同一个行为具有不同表现形式或形态的能力,就是父类引用指向子类对象

    多态作用:

    主要用来实现动态性,提高程序的灵活性和扩展性

    多态实现的必要条件:

    要有类与类的继承关系,子类必须继承父类
    必须要有重写的方法
    父类引用指向子类对象

    注:

    面向过程注重过程,就是要分析出解决问题需要的步骤,然后按步骤一步一步实现,类调用时需要实例化,开销比较大,性能比面向对象高。

    面向对象最主要的就是把构成问题的事务分解成各个对象,把对象封装成方法,然后调用方法,优点就是易维护,易扩展,提高了可重用性。
    动态绑定是指:在程序运行过程中,根据具体的实例对象才能具体确定是哪个方法。

    动态绑定静态绑定区别:

    不可以单独实例化(例如抽象类有一个name属性,子类继承后实例化相当于对象中包含着一个父类对象),即依附于自己的子类实例化

    程序在JVM运行过程中,会把类的类型信息、static属性和方法、final常量等元数据加载到方法区,这些在类被加载时就已经知道,不需对象的创建就能访问的,就是静态绑定的内容;需要等对象创建出来,使用时根据堆中的实例对象的类型才进行取用的就是动态绑定的内容。

    对多态的理解?

    ​ 多态就是父类引用指向子类对象,调用引用变量的方法时,总是表现出子类对象方法的行为,这将出现,调用相同类型的变量的方法,表现出不同的特征,这就是多态。

    1.派生类的功能可以被基类的方法或引用变量所调用,这叫向后兼容,可以提高可扩充性和可维护性。
    2.应用程序不必为每一个派生类编写功能调用,只需要对抽象基类进行处理即可。大大提高程序的可复用性。

    应用场景

    service多个实现类

  • 相关阅读:
    Elasticsearch踩坑:启动时 报错 java.nio.file.NoSuchFileException \lib\dt.jar
    JAVA算法训练营打卡总结
    简单个人网页设计作业 静态HTML个人主题网页作业 DW个人网站模板下载 大学生简单个人网页作品代码 个人网页制作 学生个人网页Dreamweaver设计作业
    C++ 嵌套 switch 语句
    Ts —— 文件编译有那些配置项
    Ubuntu中简单配置网络和安装pycharm
    AI人工智能进阶-BERT/Transformer/LSTM/RNN原理与代码
    beego初体验
    项目进展(一)-晶振正常输出、焊接驱动芯片、查找芯片手册并学习
    Python 遍历字典的若干方法
  • 原文地址:https://blog.csdn.net/weixin_53233197/article/details/128168302
  • 最新文章
  • 【FHE】我们如何实现同态加密推理(八):SiLU 的密文化——两条路径,和一个 8 字节的开关
    SQLcl 中 c/old/new 替换变量为何失效?先定位再替换
    不让模型写作文,直接从它脑子里读答案:Jev 决策在 .NET 的两条路线
    Halo插件:支持GitHub的图床附件策略
    电视投屏界的“一股清流”!SimpleTVCast 6.0.0-beta 抢先体验:无需TV端App,界面大换血!✨
    华三VXLAN集中式网关实战指南:Spine多活网关 + 双活接入(M-LAG)
    软件更好写之后口碑会更重要
    大 O、大 Omega、大 Theta 的区别,O(n) 复杂度是什么意思
    Java标签跳转:一个鲜为人知但却很实用的小技巧
    多智能体系统论文速读
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号