JavaSE学习——①面向对象(什么是面向对象由浅入深)

JavaSE学习——什么是面向对象

和很多广义的面向对象说法对比而言,我这里首先采用的是一种比较狭义的理解
一方面是因为鄙人确实技术及理论水平有限,一方面也是为了让很多初学者更容易接受,从而由浅入深逐渐了解乃至于衍生出自己的理解

狭义理解面向对象

面向对象可以说是一种思维方式,我这里以面向结构作引入并以生产汽车为实例进行介绍:

面向过程的方式就为了保证汽车的质量,所以由大到小一系类的操作流程都需要自己严格地考量,实现了每一个环节的以及环节之间的复杂关系才能保证生产汽车的品质

面向对象同样是为了保证汽车的质量,所以我可以选择专业生产轮胎的张三家生产的轮胎,可以选择专注发动机研发的李四家的发动机,可以选择各种行更专业的厂家,而且我不必要知道其他人的东西是怎样生产的,只需要知道他们的产品是如何使用的就行了

说到这里可能就会有人要问了,你既然说了生产汽车了,那么你选择了那么多不同厂家的东西,不会造成不同产品之间的兼容性问题吗?

针对这样的问题我要说到的就是Java的三大特性之一的封装(后面会出相关的博客详细的介绍Java的三大特性[封装、继承、多态])

封装就是把过程和数据包围起来,对数据的访问只能通过已定义不会对其内部造成影响的方式,把这种个特性映射到生产汽车的例子就是:各个厂家对自己的配件做了封装处理,并同时预留了不会损害其内部功能也不会对外部造成影响的一些"方法"来使用它们生产的配件

这种思想在java程序编写中的体现就是:

Java内部提供了海量且功能十分强大的类库(从本质上来说和我们自己写的类没有什么差别,而从功能上来说他的每一个类都是经历了历代前辈们的考量与优化比我们自己写的更加得可靠),并提供了API文档介绍他的各种类的功能及用法,通过对这些类库的使用就可以更快的实现开发与维护过程

接下来讲讲广义的面向对象的说法

有一种说法叫做"万事万物介对象"
 
就是说不管是什么你都可以把他看做是一个整体,而这个整体就是一个对象,而这个整体的功能、行为和属性就是对象的功能和属性

比如一只鸟就是一个对象,一条街也是一个对象,甚至一段歌声也可以是一个对象,一阵风,一场雨都可以是一个对象,他们都具有自己的功能和属性;

程序就是源自于生活的写照,是衍只于生活而又不脱离生活的一种表达方式,所以面向对象就是面对生活,对象与对象之间的关系在计算机系统得以体现从而构建计算机系统

以上均个人观点不具有权威性,如果与什么理解上的偏失与误区或与您的观点有冲突之处还请不予吝啬给出您宝贵的建议

猜你喜欢

转载自blog.csdn.net/qq_37937144/article/details/86652167