java引发的思考——通过异常处理看面向对象

 

    在看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村出了事,他就不一定能管,他不了解啊,她得搞清楚前因后果之后,才能处理!

 

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

对比类别

面向过程

面向对象

代码量

处理复杂情况

统一处理

分批处理

编程者要求

经验丰厚

会用就好

可复用

 

       通过这几个方面的简单对比,我们发现面向对象的编程中,但就错误处理而言,面向对象降低了初期编程的要求,我们只需要认识这几个类,将错误交给专业的类处理,我们干我们最需要我们做的事就好,就是理清业务逻辑!

       再深刻理解一下面向对象和面向过程的对比,面向过程类似于工业革命前的小作坊,任何事情,他一个作坊,就能出一个完整的作品,二面向对象呢?是流水线,每个人做自己专业且擅长那部分,其他的活,自然有专业的人解决,而老板呢?他再也不用对每个细节都很了解,他只需要知道哪家工厂哪部分做得好就行,因为“只要实现了这个接口”,他用谁的都行!

  

       细细想想,我们古人就很有面向对象的思想,在石器时代,我们是一个酋长说了算,他貌似知道一切,而到了农耕社会,我们的社会管理变了,我们分出了六部九卿,皇帝不再需要知道细节,坐在宝座上指挥就好!面向对象的思想,好像无处不在了!!!!!

 

 

 

 

 

 

 

 

java引发的思考——通过异常处理看面向对象,布布扣,bubuko.com

java引发的思考——通过异常处理看面向对象

上一篇:java面试题收集


下一篇:肖sir__ 软件测试之计算机基础_1.2