大家好,我是程序猿:狒狒。今天终于学习到了传说中最抽象的概念--“面向对象”。其实,我一直觉得Java没有想象中的那么难学。下面我就给大家按照我理解的“面向对象”与大家做个学术交流。
在开始解析“面向对象”之前,我先给大家讲讲我对它的理解。大概就像是我们网购一样,打开“APP”->“下单”->“付款”->“等待配送”。整个流程大概就是这样,那我们要明白在这个过程中,我们只是把诉求直接提交给了商家,中间的这些过程有“仓库配货”、“物流调配”、“物流运输”等等。
那么,运用在Java里面就是“面向对象”。我们不用去考虑很多的“过程”,可以通过Java给我们提供的各种“工具包”去实现各个“功能”的代码编写。只是在Java中称之为“面向对象”,再说简单点就是Java为我们提供便利的一种操作工具,用这些工具写代码更容易。学习Java也就相当于我们在学习Java的运用方法和各种工具的使用。如果,按我的这个角度再去看待“面向对象”,就会发现很好理解了。
再举个例子吧,手机的闪光灯只能用来拍照吗?也并不是吧?所以,Java中很多“工具包、类”的使用,也是多面化的,我们也正是学习这些基本的应用。
一.面向对象
1.概念:
课本上讲的太复杂了,用我自己的话概述就是:我们使用Java的各种工具包更方便的写出代码的过程就是面向对象。
2.特征:
①封装性:把相关的数据封装成一个“类”组件;
②继承性:是子类自动共享父类属性和方法,这是类之间的一种关系;
③多 态:增强软件的灵活性和重用性。
二.类和对象
1.类的概念:
什么是类?有多少人懂具体什么是类?都只会很含糊的讲一句:“类嘛!是一个很抽象的数据类型”。经过我翻阅了不少资料,有很多对类的定义。其实我们简单的可以把类理解成为“种类”,但是又非“种类”。比如Person(人)就是一个类,那么具体的某个人“张三”就是“人类”这个类的对象,而“姓名、身高、体重”等信息就是对象的属性,人的动作比如“吃饭、穿衣”等就是对象的方法。总之类就是有相同特征的事物的集合,而对象就是类的一个具体实例。同时类有多态和继承,例如“人类”可以分为“男人、女人”,“老人、小孩”那么“男人、女人”就是“人类”的子类等等。
如果还是理解不了的,这里我们暂时先理解到这里,不要钻牛角尖。最起码我们要先明白类的使用方法,等到后面再接纳了新的知识的时候,再反过头来看待类,那时候就更好理解了。
2.对象的概述:
每个对象具有三个特点:
对象的状态:用来描述对象的基本特征。
对象的行为:用来描述对象的功能。
对象的标识:指对象在内存中都有一个唯一的地址用来和其他对象区分开来。
类是一类事物不具体的描述,对象是具体的实现。
3.类和对象的关系:
类是对象的模板,对象是类的实例。类只有通过对象才可以使用。类不能直接使用,对象是可以直接使用的;对象是通过new class Name产生的,用来调用类的方法、类的构造方法。
4.实例解析:
实例解析
成果展示
总结:
类是一个静态的概念,类本身不携带任何数据。当没有为类创建任何数据时,类本身不存在于内存空间;
对象是一个动态的概念,每一个对象都存在着有别于其它对象的属于自己的独特的属性和行为,属性可以随着它自己的行为而发生改变。
Emmmm,本来挺有思路的!中途被打断一下,后面逻辑有点不清晰。容我再细细品味一下其中的微妙变化和关系,啊啊啊!!感觉脑子有点转不过来了!有大佬能指点迷津的也可以下方评论。