您的位置:首页 > 编程语言 > Java开发

java必备——通过异常处理看面向对象

2017-07-26 00:00 302 查看
在看java视频的时候,看到异常处理的时候,我认识到自己编程上的一个缺憾,就是以前的错误处理他范范,我们应该针对不同的错误,做不同的处理,我拿出自己c#和vb的代码,看了看错误处理代码,发现,他们的格式很相似,想到面向对象和面向过程的对比,我想,咱们也许可以在这里,再挖掘一把!
在编写VB的时候,我作为一个小白,基本没有用过错误处理,心中的他是个很高大上的技术,而随着学习了c#,java我发现,他原来是个如此so easy的东西,是什么让他从“高大上”走向了普通百姓家呢,思来想去,还是“对象”这个词汇!让我们从他们的代码格式开始理解这个过程!

vb代码示例:

private functionF_Search(byval iKB as integer) as boolean

on error goto Err
dim ado As New AdoObject
ado.openConn("XXXXXXXXXX")
ado.executeSQL("SQLYYYYY")
'其他处理省略
exit function
err:
msgbox "ERROR"
end function


c#代码示例:

try {
/*程序代码
}catch(Exception e) { 
log.error("Error processing request: " + req, e); 
}


java代码示例:

try{
/*程序代码*/
}catch(IOException ioe){
/*程序代码*/
}catch(SQLException sqle){
/*程序代码*/
}finally{
/*程序代码*/
}


我们对比发现,vb的代码相对于c#和java来说显得有些随意,的确,在纯面向对象的编程中,任何事情都是有类的约束的,而在vb基于对象的语言中,我们发现点面向过程的影子,因为错误处理不是一个类,而是一句代码,好似是程序的一部分,不可拆,但是在c#和java中,错误处理被抽象出来,我们编程起来方便了不少!

我们举个例子,面向过程的错误编程,就像是一个“居委会万能大妈”,他什么都得管着,例如邻里纠纷,他得想着解决,小孩走失,她帮忙去找。
而面向对象,更像是一个公司,分出了N个部门,有售后,人力资源,财务等等,各忙各的,大家协同工作!A公司有个电脑高手,可以借给B公司,别的他一概不会,但是“电脑”是他的专业,有关这方面的他都会!所以他“复用性”更好!
而我们的万能大妈呢?A村出了事,他能管,B村出了事,他就不一定能管,他不了解啊,她得搞清楚前因后果之后,才能处理!

面向对象的错误处理和面向对象的异常处理简单对比

对比类别 面向过程 面向对象
代码量
处理复杂情况 统一处理 分批处理
编程者要求 经验丰厚 会用就好
可复用
通过这几个方面的简单对比,我们发现面向对象的编程中,但就错误处理而言,面向对象降低了初期编程的要求,我们只需要认识这几个类,将错误交给专业的类处理,我们干我们最需要我们做的事就好,就是理清业务逻辑!
再深刻理解一下面向对象和面向过程的对比,面向过程类似于工业革命前的小作坊,任何事情,他一个作坊,就能出一个完整的作品,二面向对象呢?是流水线,每个人做自己专业且擅长那部分,其他的活,自然有专业的人解决,而老板呢?他再也不用对每个细节都很了解,他只需要知道哪家工厂哪部分做得好就行,因为“只要实现了这个接口”,他用谁的都行!

细细想想,我们古人就很有面向对象的思想,在石器时代,我们是一个酋长说了算,他貌似知道一切,而到了农耕社会,我们的社会管理变了,我们分出了六部九卿,皇帝不再需要知道细节,坐在宝座上指挥就好!面向对象的思想,好像无处不在了!!!!!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: