这一章节核心:开始思考什么是对象?为什么需要对象?如何使用对象
在学习之初,估计会有很多人也和我一样,不理解为什么Java叫做面向对象的编程,而C语言是面向过程的编程。当然现在我也不能说完全理解,只是在使用的时候,不会再有疑问:到底什么是对象?下面这个就是我的对象:
开个玩笑哈,因为在Java的领域,就是“万物皆可对象” ,下面开始举几个通俗易懂的例子:
(1) 动物园
到动物园之后,我们看见大象都会说:哇!好大!
看见袋鼠:哇!好壮!
看见老虎:这个老虎岁数有点大,不行。
看见小波:哇!哎?这谁啊?
注意:此时,我们针对我们看到了一切,已经加上了属性(形容词),
大象--尺寸--大,
袋鼠--肌肉量--壮,
老虎--年龄--大,
小波--是否认识--不认识。
这些属性值,就是面向对象的一个重要特征!!!
(2)公司请假
今天感觉不舒服,于是作为员工的小波,向我的项目经理发起请假
小波:老大,我身体不舒服,明天请个假,时间:2050年10月1日--10月7日 9:00-18:00
老大:好,注意身体
那么这种很常见的场景,怎么和我们的面向对象进行关联呢?
请假是一个完整的流程,这个流程如果我们需要用代码去实现,基于上一个例子,肯定需要属性,属性至少要有:请假人,审批人,请假开始时间,请假结束时间,是否同意这几个属性,实际上这样就完整了一个Java类的构造
我们不需要具体去想有什么什么属性,而是我们实现一个功能时,需要哪些属性。实现请假就需要上面哪几个,这就是我们需要构造的类。
(3)奈雪买奶茶
小波:逛街好渴,买个奶茶吧
老大:要是奶茶映射一个对象,怎么映射?
小波:WTF?MMP!
同样还是考虑,我们要实现什么?而不是去想:奶茶本身有什么
因为奶茶本身有什么,我们可能会定义一些:用不到的属性,想用又发现没有
从实现的角度,缺什么加什么,有的都是我要用的,我不用的也没有,代码不会有冗余。
所以我考虑有:
含糖量,含奶量,维生素C含量,水含量,温度,总体积等,这些都可以作为他的属性值,出现在奶茶对象中。