022-二十二、Java面向对象介绍
引言
面向对象,将跟对象有关的功能都封装在其内
面向对象三大特征:封装,继承,多态
找对象,创建对象,使用对象,并维护对象之间的关系。
类:对现实中事物的描述
对象:就是实实在在 存在的事物
映射到 java
中,描述就是 class
定义的类
具体对象就是对应java在堆内存中new建立的实体
类与对象:
设计图纸就是类,里面包含对象的描述:比如说车的颜色,轮胎数,发动机….
Note
:对象建立的时候,属性值都会先置为 null
,显式初始化后才会变成具体的值
成员变量VS局部变量:
作用范围:成员变量作用于整个类中;局部变量作用于函数或者语句中;
在内存中的位置:成员变量在堆内存中,由于对象的存在,才在内存中存在;
局部变量在栈内存中;局部变量必须初始化,否则不能运行;成员变量有默认初始化值,因此可以不初始化;当成员变量和局部变量名称一致时,默认使用局部变量
基于对象和面向对象的区别
基于对象:通常指的是对数据的封装,以及提供一组方法对封装过的数据操作。比如 C
的 IO
库中的 FILE
* 就可以看成是基于对象的。
面向对象:则在基于对象的基础上增加了多态性。所谓多态,就是可以用统一的方法对不同的对象进行同样的操作。
当然,这些对象不能完全不同,而需要有一些共性,只有存在了这些共性才可能用同样的方法去操作它们。
如果从 C++
通常的实现方法的角度来看,A
和 B
在继承关系上都有共同的祖先R
,那么我们就可以把 A
和 B
都用对待 R
的控制方法去控制它们。
面向对象和面向过程到底的本质区别
面向过程:就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。
面向对象:是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。
大白话介绍面向对象和面向过程
面向过程就是将编程当成是做一件事,要按步骤完成,每一步就是一个过程。比如作菜,先放油,接着是放菜进去炒,然后放水,最后菜就做好了。
这里面放油,炒,放水就是三个步骤。
面向对象就是将编程当成是一个事物,对外界来说,事物是直接使用的,不用去管他内部的情况。而编程就是设置事物能够做什么事。其实有点像是将面向过程给放到事物内部了。
仍然举作菜为例:
其实面向过程就好像你是个厨师,要自己炒菜,所以要讲究步骤,而面向对象就好像你是个食客,你只要通知厨师作菜,即发一个消息就可以了,至于厨师怎样作菜,是不用知道的。
写完了如果写得有什么问题,希望读者能够给小编留言,也可以点击[此处扫下面二维码关注微信公众号](https://www.ycbbs.vip/?p=28 "此处扫下面二维码关注微信公众号")
看完两件小事
如果你觉得这篇文章对你挺有启发,我想请你帮我两个小忙:
- 把这篇文章分享给你的朋友 / 交流群,让更多的人看到,一起进步,一起成长!
- 关注公众号 「方志朋」,公众号后台回复「666」 免费领取我精心整理的进阶资源教程
本文著作权归作者所有,如若转载,请注明出处
转载请注明:文章转载自「 Java极客技术学习 」https://www.javajike.com