当前位置:网站首页>代码小变化带来的大不同
代码小变化带来的大不同
2022-08-04 05:35:00 【郝老三】
今天上了一节设计模式的课,讨论的问题看似很简单,但是背后蕴含的思想却是巨大的。不多说废话,直接上代码。
代码一:
public static void main(String[] args) {
System.out.println(5+6);
}
代码二:
public static void main(String[]args){
int a = 5;
int b = 6;
System.out.println(a+b);
}
看到这两个代码,可能很多人都不屑一顾。(嗨,不就是增加了两个变量吗,有什么啊,结果还不是输出个11而已吗。)或者一头雾水(这是什么啊?那儿有变化啊?这点变化有什么用啊?)。
最开始我也很不理解,不知道这一点细微的变化到底有什么作用,后来在老师的引导下,我才逐渐的品味到他的味道。
变化:
从版本2到版本一实现了从有限到无限的扩展,从两个确定数相加到两个任意数相加,实现了从有限2个数相加,到无限个数相加。同时通过a+B实现了对算法的封装,从而实现了在这里面具体的加法复用
看完上面这段话,不知道你有什么感想。
有限到无限,增加了两个变量,怎么就有限到无限了,这不还是5+6吗?虽然看起来是这样,但是仔细琢磨你会发现,有了这两个变量、5和6、可以换成7、8、9、10 …,你可以换成任意的数字,这就是有限到无限。
对算法的封装,为什么是对算法的封装呢?难道封装的不是加法吗?从代码来看,似乎还是加法,但是如果我们用抽象的观点来看,加法是算法的一种,算法是对加法的抽象,这里是加法,别处可以是减法、乘法、除法、各种算法。
加法的复用,这句话就是落到我们写的这个具体的代码上,复用的是加法。
边栏推荐
- DOM的12中节点类型,通过关系或方法获取DOM节点,渲染到浏览器页面的一些特效功能,获取DOM节点来改变属性,点击图片,切换为所点击的图片为背景图,页面上的表单验证,点击底部导航栏切换界面
- 益智小游戏- 算算总共多少正方形
- av_read_frame 阻塞,基于回调的解决办法
- IoU, GIoU, DIoU and CIoU in target detection
- Operating System Random
- 在线公众号文章内容转音频文件实用小工具
- Scheduler (Long-term,Short-term, Medium-term Scheduler) & Dispatcher
- SENet详解及Keras复现代码
- MySQL stored procedure study notes (based on 8.0)
- Uos统信系统 Postfix-smtps & Dovecot-imaps
猜你喜欢
树莓派 4 B 拨动开关控制风扇 Rasberry Pi 4 B Add Toggle Switch for the Fan
Database Skills: Organize SQL Server's Very Practical Scripts
基于爬行动物搜索RSA优化LSTM的时间序列预测
DenseNet详解及Keras复现代码
在线公众号文章内容转音频文件实用小工具
MAML原理讲解和代码实现
硬件知识:RTMP和RTSP传统流媒体协议介绍
Network skills: teach you to install batteries on the router, you can still surf the Internet when the power is cut off!
DropBlock: 卷积层的正则化方法及复现代码
QT QOpenGLWidget 全屏导致其他控件显示问题
随机推荐
数据库JDBC DAO层方法
Faster RCNN原理及复现代码
自适应迁移学习核极限学习机用于预测
Hardware Knowledge: Introduction to RTMP and RTSP Traditional Streaming Protocols
数据库文档生成工具V1.0
【音视频开发系列】QT 采集麦克风PCM并播放
Uos统信系统 SSH
网络安全求职指南
狗都能看懂的Self-Attention讲解
MySQL stored procedure study notes (based on 8.0)
Uos统信系统 DNS
如何在Excel 里倒序排列表格数据 || csv表格倒序排列数据
Visualization and Animation Technology (VR System)
把DocumentsandSettings迁移到别的盘
Uos统信系统 Postfix-smtps & Dovecot-imaps
Prematurely reached end of stream
ssm pom文件依赖 web.xml配置
Different lower_case_table_names settings for server (‘1‘) and data dictionary (‘0‘) 解决方案
无监督特征对齐的迁移学习理论框架
Stream API