Java基础——再谈面向对象

来源:互联网 发布:电脑连接网络出现红叉 编辑:程序博客网 时间:2024/05/17 02:13

        去年的这个时候,心血来潮写了篇《简述面向对象技术》,先在看来不由的会想:这都是写的什么跟什么啊?(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 going to get.

 

1 0
原创粉丝点击