网站首页 > java教程 正文
面向对象的三大特性
面向对象的三大特性,封装、继承、多态
利用封装、继承、多态的方式去建模,从而大量减少重复代码、降低模块间耦合,像拼积木一样组装了整个“世界”。
封装
封装好的类如同一个黑匣子,外部无法看到内部的构造及运转机制,而只能访问其暴露出来的属性或方法
注意,把一些不相干的对象硬生生封装在一起,就会使代码变得莫名其妙,难于维护与管理,所谓“物极必反,过犹不及”,所以封装一定要适度
计算机的封装
它必然需要一个机箱把各种配件封装进去,如主板、CPU、内存、显卡、硬盘等。一方面,机箱起到保护作用,防止异物(如老鼠、昆虫等)进入内部而破坏电路;另一方面,机箱也不是完全封闭的,它一定对外预留有一些访问接口,如开机按钮、USB接口等,这样用户才能够使用计算机
计算机主机的类结构
继承
继承可以使父类的属性和方法延续到子类中,这样子类就不需要重复定义,并且子类可以通过重写来修改继承而来的方法实现,或者通过追加达到属性与功能扩展的目的
类是对象的模板,那么父类(或超类)则可以被看作模板的模板。
继承的目的并不只是全盘照搬,而是可以基于父类的基因灵活扩展
我们知道任何类都有一个toString()方法,但我们根本没有声明它,这是为什么呢?其实这是从Object类继承的方法,因为Object是一切类的祖先类。
多态
在我们创建对象的时候通常会再定义一个引用指向它,以便后续进行对象操作,而这个引用的类型则决定着其能够指向哪些对象
比如,用犬类定义的引用绝不能指向猫类对象,所以对于父类定义的引用只能指向本类或者其子类实例化而来的对象,这就是一种多态。
再进一步讲,多态其实是利用了继承(或接口实现)这个特性体现出来的另一番景象。
实现多态的方式
有二种方式
- 覆盖
- 重载。
覆盖,是指子类重新定义父类的虚函数的做法。
重载,是指允许存在多个同名函数,而这些函数的参数表不同(或许参数个数不同,或许参数类型不同,或许两者都不同)。
多态的作用 多态化的外设使计算机功能更加强大、灵活、可扩展、可替换。其实这就是设计模式中非常重要的一种“策略模式”,接口的定义是解决耦合问题的关键所在
猜你喜欢
- 2024-10-07 java 面对对象的三大特性——面试的时候一直在看,面试官很满意
- 2024-10-07 第三章 java内存模型与并发三大特性
- 2024-10-07 理解Java的三大特性之封装(java的封装是什么)
- 2024-10-07 揭秘Java五大特性,你不容错过!(java的基本特性)
- 2024-10-07 JAVA基础——面向对象三大特性:封装、继承、多态
- 2024-10-07 Java有哪些特性?(请简述java有哪些特性)
- 2024-10-07 Java-面向对象三大基本特性,五大基本原则
- 2024-10-07 java多线程中的三大特性用代码给大家解释清楚
- 2024-10-07 好程序员Java学习路线分享三大特性之多态
- 2024-10-07 Java 12 新特性概述(java语言具有较好的安全性和可移植性及与平台无关等特性)
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)