面向对象的三大核心特性简介

面向对象开发模式更有利于人们开拓思维,在具体的开发过程中便于程序的划分,方便程序员分工合作,提高开发效率。

该开发模式之所以使程序设计更加完善和强大,主要是因为面向对象具有继承、封装和多态 3 个核心特性。

1、继承的概念

继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类。

继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。

兔子和羊属于食草动物类,狮子和豹属于食肉动物类。

食草动物和食肉动物又是属于动物类。

所以继承需要符合的关系是:is-a,父类更通用,子类更具体。

虽然食草动物和食肉动物都是属于动物,但是两者的属性和行为上有差别,所以子类会具有父类的一般特性也会具有自身的特性。

2、Java 多态

多态是同一个行为具有多个不同表现形式或形态的能力。

多态就是同一个接口,使用不同的实例而执行不同操作

多态性是对象多种表现形式的体现。如果当前在 Flash 界面下弹出的就是 AS 3 的帮助文档;

如果当前在 Word 下弹出的就是 Word 帮助;

在 Windows 下弹出的就是 Windows 帮助和支持。

同一个事件发生在不同的对象上会产生不同的结果。

3、Java 封装

在面向对象程式设计方法中,封装(英语:Encapsulation)是指一种将抽象性函式接口的实现细节部份包装、隐藏起来的方法。

封装可以被认为是一个保护屏障,防止该类的代码和数据被外部类定义的代码随机访问。

要访问该类的代码和数据,必须通过严格的接口控制。

封装最主要的功能在于我们能修改自己的实现代码,而不用修改那些调用我们代码的程序片段。

适当的封装可以让程式码更容易理解与维护,也加强了程式码的安全性。

对java面向对象的三大特征的理解_Java面向对象的三大特征是什么?相关推荐

  1. java面向对象三大特性难吗_JAVA面向对象的三大特性

    JAVA面向对象的三大特性 每一对象是其状态和行为的封装.类是按一定体系和层次安排的,使得子类可以从超类继承行为.在这个类层次体系中有一个根类,它是具有一般行为的类.Java程序是用类来组织的.下面是 ...

  2. Java(二)——简单的理解下面向对象内存分析

    学习进入到面向对象初级阶段,看到代码的执行过程便很蒙圈.后来经同学指点告诉我说让我看看面向对象的内存分析,会对代码的理解有所帮助,这里就针对面向对象的内存分析进行阐述.(有些图和代码可能借助于网络和其 ...

  3. java面向编程封装继承多台_java面向对象——封装,继承,多态

    封装 封装的概念理解起来非常容易,我初次接触很容易地联想到了vue中的计算属性,或者python中的私有属性问题.他们在这个问题上显得极为相像.话不多说,上代码: // 定义一个Person类clas ...

  4. Java面对对象的核心是啥_Java面向对象核心技能

    1.封装 封装是面向对象的三大特性之一,就是将类的状态信息隐藏在类内部,不允许外部程序直接访问,而通过该类提供的方法来实现对隐藏信息的操作和访问. 封装的好处:隐藏类的实现细节:让使用者只能通过程序规 ...

  5. java面向对相取钱存钱_java面向对象(银行存款业务无客户)

    import java.util.*;//此为银行存款业务 public class Banking { public static void main(String[] args) { Accoun ...

  6. Java面向对象三大特征的理解

    面向对象三大特征的理解 初始理解 封装 继承 多态 初始理解 其实这些知识很早就有接触,而且一些概念也牢记于心了.自己叙述面向对象的特征会是这样的: 面向对象的三大特征是封装.继承和多态.封装是对代码 ...

  7. 浅谈面向对象三大特征的理解

    面向对象程序设计(Object Oriented Programming)是把客观世界抽象成一个个的对象,并把对象作为编程的处理主体.Java语言是面向对象的程序设计语言,类和对象是面向对象的核心.类 ...

  8. 允许使用抽象类类型 isearchboxinfo 的对象_Java面向对象编程三大特征 - 多态

    Java面向对象编程三大特征 - 多态 本文关键字:Java.面向对象.三大特征.多态 多态是面向对象编程的三大特征之一,是面向对象思想的终极体现之一.在理解多态之前需要先掌握继承.重写.父类引用指向 ...

  9. Java 面向对象:super关键字的理解

    Java 面向对象:super关键字的理解 一.Super关键字: 1. super调用父类的构造方法,必须在构造方法的第一个 2. super只能出现在子类的方法或构造方法中! 3. super和t ...

最新文章

  1. python—多线程之死锁
  2. mysql文献综述_文献综述随笔(二十)
  3. MySQL笔记-左连接的使用(left join有关联的多表查询)
  4. 利用CSS实现悬停下拉菜单
  5. 导购效果跟踪: SPM
  6. 庖丁解牛!深入剖析React Native下一代架构重构
  7. window.open()
  8. 关于NAND Flash调试的一点总结
  9. 北京服务器机房位置,北京服务器机房
  10. qq出示测试软件语音聊天,QQ语音时语音测试时可以听到声音,播放测试语音时听不到,也听不到好友发来的语音,请问怎么处理...
  11. 仿QQ聊天界面里边的相册(QQ相册)
  12. 列表,元组,字典,集合类型变量相关内置函数详解
  13. 转:攻击JavaWeb应用[2]-CS交互安全
  14. 警惕安全档案的陷阱 | 确认偏见
  15. 【数据库MySQL】2021最新官网下载及查看MySQL版本步骤教程
  16. 023-zabbix性能优化中的几个中肯建议
  17. 计算机毕业设计(81)php小程序毕设作品之校园跑腿小程序系统
  18. 三菱plc,x的n次方程序教程
  19. VMware集群应用部署之--MikroTik-RouterOS部署及数据迁移
  20. 西南大学校园网客户端共享网络之路由器开wifi

热门文章

  1. Java Lambda 表达式(又名闭包 (Closure)/ 匿名函数 ) 笔记
  2. [SVN(ubuntu)] ubuntu使用svn
  3. faked 一个用于 mock 后端 API 的轻量工具
  4. react-router使用教程
  5. 【2010福建】收稻子 (校BSOJ1114)
  6. oracle错误: ORA-00600: 内部错误代码, 参数: [kkqcscpopn_Int: 0], [], [], [], [], [], [], [], [], [], [], []...
  7. WPF插件开发:使用FrameworkElementAdapters时VS报错的问题
  8. Selenium_WebDriver操作iFrame日历框和复选框_Java
  9. 实现Unicode和汉字的相互转换
  10. js中类型识别的方法