码迷,mamicode.com
首页 > 编程语言 > 详细

Java基础——再谈面向对象

时间:2015-02-19 17:33:14      阅读:317      评论:0      收藏:0      [点我收藏+]

标签:面向对象

        去年的这个时候,心血来潮写了篇《简述面向对象技术》,先在看来不由的会想:这都是写的什么跟什么啊?(ps:虽然现在写的博客依然不咋地)但是,Java的学习中又一次不得不再一次面向对象,所以,奉上一篇《再谈面向对象》,做为新年的一盘开胃菜。

        面向对象是相对于面向过程而言,是一种思想。

区别于面向过程:

面向过程是以函数为基础,完成各种操作,强调的是过程,而面向对象是以对象为基础,强调的是对象。

比如说把大象装进冰箱分为几步,宋丹丹是这样说的:三步呗,

第一步:打开冰箱门,

第二步:把大象装进去,

第三步:关上冰箱门。

其中“打开”“存储”“关上”都是功能行为,在代码中的直观体现就是函数或者方法,这就是一种面向过程的以功能行为为主体的思想体现。

而用面向对象的思想来分析则步骤如下:

第一步:冰箱打开,

第二步:冰箱存储,

第三步:冰箱关闭。

我们可以看到,所有的操作都是以“冰箱”为主体,把功能封装进冰箱(对象)。也就是说,冰箱自己已经具备了“打开”、“存储”、“关上”的行为功能,我们只需要让冰箱执行它具备的功能就可以了。

举一个生活中对象的例子:例如手机就是一个对象,手机拥有多种特性,如手机有高度、宽度、厚度、颜色、重量等特性,这些特性被称为对象的属性。同时手机还有很多功能,如手机可以听音乐、打电话、发信息、看电影等工作功能,这些功能被称为对象的方法。

特点:

1.      是一种更符合人们思考习惯的思想 (基于这点,还没有想太明白)

2.      可以将复杂的事情简单化

3.      将程序员从执行者转换成了指挥者。

开发过程:

不断的创建对象,使用对象,指挥对象做事情。

设计过程

就是在管理和维护对象之间的关系。运用设计模式或者对象之间的其它联系,使对象能够紧密的关联起来,更加高效的使用对象。

如何使一个程序能够面向对象:

1.  分析该系统中包含哪些对象?

2.  明确每个对象可以做什么?

3.  明确每个对象间的关系。

特征:

封装(encapsulation)

继承(inheritance)

多态(polymorphism)

 

在学习面向对象时,如果能够领会这些比较基础的知识,就能够驾轻就熟的来面向对象了。做了个导图如下。

技术分享

小结

       面对对象作为一种编程思想已经不断被人们开发和认识,其中包含的东西还有很多,笔者也不太了解,上述提到的要点会在今后的学习中不断的补充和深化拓展,以满足自己一颗饥渴求知的心,其中的收获往往也是丰富的,也许在不就的将来,随着理解的深入,笔者还会写一个《三谈面向对象》(⊙o⊙)…突然想起了阿甘所说的一句话,在新年的第一天与大家共勉:Life is like a box of chocolates, you never konw what you‘re goingto get.

 

Java基础——再谈面向对象

标签:面向对象

原文地址:http://blog.csdn.net/haovip123/article/details/43882977

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!