首先大家先来看第一版代码的样子。
其次是第二版:
从表面上看,这第二版代码无非也就是定义了两个变量,运行结果一摸一样呀,这完全没咋变呀。
可是真的是这样吗?
首先第一点:从版本一到版本二实现了一个有限到无限的扩展,什么是有限什么是无限呢,哪里表示有限了,哪里又表示无限了呢?版本一中:有限表示是5+6这里,print5+6,它的结果永远智能是11,所以是有限的,版本二中:定义了两个变量a、b,这里的a可以是任意数,b也可以是任意数,再思想上移一点就是从有限的两个数相加到无限个数相加,这里的无限个数相加怎么理解呢?话不多说直接看代码:
这里因为a可以是任意数,所以我把5+1赋值给了a,这样再打印出a+b的结果的话就成了三个数相加,一个是5、一个是1、一个是6,也就是说这里可以是2个数相加,3个数相加,那么无限个数呢?也是可以有的。
那么再来说第二点:这里的a+b实现了一个对算法的封装,从而实现了在这里面具体的对加法的复用。那我这怎么就实现对算法封装了呢?怎么就实现对加法复用了呢?
首先是对算法的封装,算法也包括了很多种,其中也包括了运算方法,我们给他统称为算法,这里的 System.out.println(a+b); 这行代码相当于是对运算方法加法的封装,它也是算法的一种么,所以我们在这里又思想上移了一下,对算法的封装,除了加法我也还可以是减法、除法、乘法。上代码:
那么复用呢则是体现在,我们只需要去修改a和b的值就可以实现任意数进行相加了。
最后一句:我们做软件开发的需要有想象力和创造力,同样的代码,不同的人看到的却是不同的思想,不同的发展与未来。