------- android培训、java培训、期待与您交流! ----------
面向对象是Java的一大重点,下面就来讲解自己对面向对象的理解和总结
1.什么是面向对象?
大神们会说:万物皆对象
而像我这样的人说出这种话也不晓得我是否真正理解,所以我要用我自己的方式来说
我走在马路上,正在走路,那么我就是个对象,我有一个走路的方法,这个方法会让我自己的体力下降,从而产生饥饿这个状态
这时,对象就是我自己,而体力就是我的一个组成部分,饥饿就是我的一个行为所产生的结果
用我对java的理解就是我自身是个人,人是一个类,而我就是作为一个人的一个对象,我会有体力这个属性,当我调用走路这个方法时,会使自己的体力递减
就会返回饥饿这个状态。
这时,我看到了一个餐馆,餐馆名为老干妈饭馆,便进入了这个餐馆去解决一下我的饥饿问题,便喊来服务员来点菜
餐馆是一个类,服务员也是一个类,菜肴也是类
我进入了餐馆,即产生了一个餐馆实例对象,对象的名称就是老干妈饭馆,我喊来服务员来点菜,是因为我并没有点菜这个方法,没有这个权限,所以
产生了一个服务员对象,这个服务员对象有点菜的方法,我调用了服务员的点菜方法,去点菜。
我点完菜后,服务员将我点的菜全部写入一张纸上拿去厨房,给了厨房老大给做菜。
服务员将我所点的菜全部作为数据使用笔(输出流)写在了一张纸(目的端)上,然后拿去厨房,给厨房老大去做菜。
将纸上的内容(输入流)传给了厨师老大,让厨师老大去看,厨师看了之后便开始做菜了。这个过程中,服务员并没有持刀做菜的方法,所以厨师也是一个对象,他有
做菜这个方法。
然后厨师却看到一个原料没了,所以给服务员说这个菜做不了,给顾客说一声怎么办?
厨师查看了一下自己的属性,发现这个属性已经没了,便给服务员报出一个异常(原料没了),服务员也处理不了这个问题,便将这个异常换成了换菜异常抛出给了客户(原料没了,需不需要换一个菜?),这时顾客接收到这个异常,便选择了自己能处理的方式:1.不要这个菜了继续吃饭(异常处理完成,程序继续运行)2.连这个菜都没!不吃了(程序结束)
当然,既然饿了,我就选择不要这个菜了把其他菜上上来。服务员便一道一道的端上来,我吃完之后,发现吃太撑了走不动,便打的回去了。谁知道,走到一半,车突然没汽了
我便下了车,自己扛着大肚子回家了。
我选择处理异常,并继续吃饭,吃完之后,我的饥饿属性变为false,反而走路方法的判断属性变为了false,便调用了喊出租这个方法。
我没有车,所以我只能通过的士司机的车回家,这时的士司机就是一个对象,我调用了司机的开车方法,让他送我回家。但是车却在半路坏了,这并不是司机坏了。
而是车发生了改变,所以车也是一个对象,他的气没了,就无法再发动。所以我选择使用自己的方法走路,回家。
这是我对面向对象自己的一个理解,当然可能有很多说的不详细或者不规范的地方。请大家指出来。