面向对象0--我所理解的对象
来源:互联网 发布:知和行书局待遇 编辑:程序博客网 时间:2024/06/11 08:38
为什么需要面向对象?这到底有什么优点?
这就是我所理解的程序语言的一个重要优点。相比于普通的计算器,难道计算机就只能作为一个功能强大的函数处理器吗?
面向对象,就是通过数据的抽象化,在程序中产生一个个对象和一个个实例。而这些对象和实例,更贴近生活,也更容易理解。
比如,我们现在有三个乐器,想存储乐器的相关信息,比如价格,和相对应能弹奏的曲子。如图:
如果不用对象的思路来考虑,也没有问题。比如创立一个HashMap或者Array来存储相关信息。
面向对象的话,很直观,我们可以每一个乐器都创建一个类,这样,通过构造器来生成具体的实例。
可以看到,创造对象或者说一个类,是一个非常自由的事情,可以根据程序的实际需要来进行编写所需要的类。
通过类,可以对数据进行封装,继承,多态等相关操作,使得代码复用更加清晰,使得代码的可读性大大提高。
比如下面这一段代码:
我们可以清楚的看到通过构造器产生了Guitar类的一个实例。注意:Guitar guitar1只是一个“指针”,而真正产生实例的是: new Guitar()这个构造方法。
在这里play()是实例方法,不能脱离具体的实例来产生。比如一段由Guitar产生的音乐,必须要有一个具体的Guitar来产生,否则无法完成这个动作。
不管是开发者还是读者,都可以很直观的知道guitar1.play()所表达的含义,而不需要了解更多细节。
而guitar1.play()在这里,能够清晰地展现play()与guitar1之间的关系。这个关系更能反应现实,反过来,面向对象更容易把现实中事物之间的状态,行为和关系,直观地表达在程序之中。
阅读全文
0 0
- 面向对象0--我所理解的对象
- 我所理解的面向对象思想
- 我所理解的面向对象
- 我所理解的js面向对象
- 我所理解的面向过程与面向对象
- 我所理解的面向对象概念技术
- 简谈我所理解的面向对象
- 我理解的面向对象
- 黑马程序员:我理解的面向对象
- 我理解的面向对象-1
- 我对JAVA面向对象的理解
- 我理解的什么是对象,什么是面向对象。
- 我所偏爱的 C 语言面向对象编程范式
- 我所偏爱的 C 语言面向对象编程范式
- 我所偏爱的 C 语言面向对象编程范式
- 面向对象的理解
- 面向对象的理解
- 面向对象的理解
- 【Go】slice
- mysql5.7.17安装配置图文教程
- Blender:下载并安装文本编辑器(Text Editor)代码自动补全插件
- CF489D
- Lombok 安装、入门
- 面向对象0--我所理解的对象
- PAT 甲级 1125. Chain the Ropes (25)
- 010 Editor 使用笔记
- PAT 甲级 1126. Eulerian Path (25)
- PAT 甲级 1127. ZigZagging on a Tree (30)
- PAT 甲级 1128. N Queens Puzzle (20)
- Gradle
- how to use automake to build files
- 喂,你是在学习还是在逃避?