java的面向对象二三事

前言

        对于一个程序员而言,从面向过程到面向对象的过程的转换。是一种思维方式的升华。但是,究竟什么是面向对象? java 的面向对象时候真的有那么的纯粹,实际上还是存在着许许多多的讨论的。今天我们就来看看面向对象二三事。


什么是面向对象

        我们先来看看百度百科的介绍:


面向对象(Object Oriented,OO)是软件开发方法。面向对象的概念和应用已超越了程序设计和软件开发,扩展到如数据库系统、交互式界面、应用结构、应用平台、分布式系统、网络管理结构、CAD技术、人工智能等领域。面向对象是一种对现实世界理解和抽象的方法,是计算机编程技术 发展到一定阶段后的产物。


        实际上,就我理解来看,现代的软件系统是越来越复杂了,让我们去熟悉其中的每一个模块实在是很难,更别说每一个模块都是自己写的。举个现实生活中的例子吧。波音的飞机畅销全世界,但是难道每一个模块的元器件都是它自己造的,亦或者说是它设计的。实际上,这些模块的来源分布在世界各地。这其实就是面向对象的一种体现。我们做事情的着眼点放的更加的高,更加的去看中全局。当然,这也是java为何容易上手的原因,因为一旦你站的地方比较高,你就不用再去关注更多的细节了。


        但是,也正是因为你站的比较高,所以说有的时候很难去理解到一些问题的实质。但是没有哪一种方法是天衣无缝的,对此,倒也不必过于介怀。我想,讲到这里,面向对象的概念也已然清楚了。

面向对象二三事


基本类型还有存在的必要吗?


        不知道大家有没有想过这样的问题,java强调面向对象,但是为何要保留所谓的基本类型呢?这明显不符合面向对象的定义啊,我们也都知道,java中基本数据类型在产生的时候其位置也是和对象不一致的。其实,就我看来,保留基本类型的原因如下:

        首先应该是方便那些从C等面向过程的语言转过来的相关人员,实际上你想想,基础编程玩的也就是哪几种基本数据类型。在C语言中,你想用List之类的数据结构,那不还得自己写。java这一招比较巧妙,他告诉广大的从业者,我们有基本类型啊,但是,基本的数据结构我们都为大家实现了,大家可以直接用,这样就方便了大家的过渡。

        第二个原因的话,我想是因为基本的数据类型更快,也更节约空间。因为基本的数据类型一定是用的最多的,而后来之所以推出包装类型,实际上可以从侧面理解这是要去革了基本数据类型的命。但是,革命尚未成功,通知仍需努力啊!


util包的尴尬


        我们知道面向对象就是将问题的模型抽象为一个个对象,实际上就是像一个人一样,当然,你知道的,这个人有行为,有自己的基本属性,比如身高等等。那么这个时候,util包出现了,里面的类比较尴尬,基本都是静态的方法,不和具体的实例对象绑定。而且,几乎没有属性,只有行为。也就是他的静态方法。

        这要是类比影视剧,那就是活脱脱的僵尸啊!那么,当然,国内外对于此的讨论也是不绝于耳。什么应该去掉啊?不合理啊?有本事你别用啊?大家各种争论,因为很多人觉得这把java的面向对象思想搞得不纯粹了。就像基本数据类型一样。

        当然,阿福在此不予置评,时间自会说明一切。


总结


        当然,面向对象还有很多的东西需要我们去探索,任何一种思维或者方法论都有其存在的意义,我们不能否认。但是我们要不断的去复盘,因为只有这样,我们才能更好地理解和思考。

        阿福今天说的话题有没有勾起你的小思绪!有的话下方评论吧!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值