之前几篇博客一大堆废话,着实浪费时间也没啥实际作用。除了总结一些java的知识点外,再用一些比喻或者形象化的语言来表述这些知识点,无可厚非。但是,现在看来,应当减少这种堆满偏理论式偏方法性的内容的博客写作。实在是精力有限。在这种信息爆炸的时代,过往时间的纯洁性会逐渐丧失,只有高效地掌握信息运用信息才不会被世界远远抛在身后。

  面向对象和面对过程。这里拿个例子简单说明一下。一个问题:如何把大象装进冰箱?面向过程:1.人完成打开冰箱的动作。2.人完成把大象装进冰箱的动作。3.人完成关上冰箱的动作。面向对象:1.人:我要解决把大象装进冰箱这个问题。2.冰箱:收到指示依次完成打开冰箱、装进大象、关上冰箱的动作。面向过程只是单纯地解决一件事情,而面向过程是对面向过程解决这一件事情本质的抽象,达到能够完成解决一类事情的目的。这一点和我们所处世界一样,我们总是想着举一反三,找到一些事物的本质规律以此更好地解决类似的问题。这么说也许还是有点不太清楚,下面看一看《Head First Java》中是如何用具体的问题加代码来说明面向过程和面向对象的区别。这一部分留到下一篇博客。

  最后谈一下《Head First Java》中用面向对象的思想设计一个游戏的思路。照理说应该也要谈一谈用面向过程来设计,以此对照,这里就留到下篇再谈。看书之后我的看法是:1.游戏。2.人。这一点是从问题上出发。实际程序设计,从程序出发是这样:1.启动游戏。2.运行游戏。3.结束游戏。我所谈的到“人”也就是问题的解决者,只充当一个问题解决的设计者。游戏是一个对象,一个object。实例变量是游戏的状态:运行/关闭以及游戏的基本参数,而方法是游戏的行为:启动、运行(包括了游戏规则)、关闭。这里就这个问题只是从整体上谈了一下,看起来就一个单薄的object。但是现实世界丰富多彩,到处都充满了object,而这些object再加上它们之间的关系就构成一个整体,the world。

D2 有关写博客新的体会以及面向对象的更多相关文章

  1. 新功能发布!Markdown写博客!

    有一种神奇的语言,它比html还简单,它巧妙地将内容与格式整合在一起--它就是Markdown. 现在我们实现了博客对Markdown的内置支持,可以让您轻松地在园子里用这个神奇的语言写博客! &qu ...

  2. Spring+SpringMVC+MyBatis+easyUI整合优化篇(十四)谈谈写博客的原因和项目优化

    阶段总结 又到了优化篇的收尾阶段了,这其实是一篇阶段总结性的文章,今天是4月29号,距离第一次发布博客已经两个月零5天,这两个多月的时间,完成了第一个项目ssm-demo的更新,过程中也写了33篇博客 ...

  3. (转)[BetterExplained]为什么你应该(从现在开始就)写博客

    (一)为什么你应该(从现在开始就)写博客 用一句话来说就是,写一个博客有很多好处,却没有任何明显的坏处.(阿灵顿的情况属于例外,而非常态,就像不能拿抽烟活到一百岁的英国老太太的个例来反驳抽烟对健康的极 ...

  4. 如果简单的记录,就可以为这个世界创造更多的财富,那么还有什么理由不去写博客呢? — 读<<黑客与画家>> 有感

    上一次博文发文时间是2016.1.15,7个月已经过去了.最近读了一本<>的书,对我触动挺大的!里面有关于技术趋势的探讨,也有关于人生和财富的思考! 开始更新iOS122的文章的初衷是,聚 ...

  5. 好久没有写博客了,发现Live Writer也更新了

    最近由于工作变动,工作内容和心态也有所变化,所以很久没有写博客了,而且我的开源项目深蓝词库转换也很近没有更新了.今天打开LiveWriter发现居然有新版本,于是果断更新.现在新的LiveWriter ...

  6. 象写程序一样写博客:搭建基于github的博客

    象写程序一样写博客:搭建基于github的博客   前言 github 真是无所不能.其 Pages 功能 支持上传 html,并且在页面中显示.于是有好事者做了一个基于 github 的博客管理工具 ...

  7. ruby开源项目之Octopress:像黑客一样写博客(zhuan)

    ruby开源项目之Octopress:像黑客一样写博客 百度权重查询 词库网 网站监控 服务器监控 SEO监控 Swift编程语言教程 今年一直推荐的一种写作方式.markdown语法快速成文,git ...

  8. 用Octopress在Github pages上写博客

    安装Git环境 下载msysgit(git for windows),并安装. 可以选择安装TortoiseGit,这个在windows的资源管理器里装了很多git的右键菜单,对git命令行不熟悉的同 ...

  9. jupyter巨好玩-使用jupyter结合VScode写博客

    打开jupyter-ipython 其实人家就叫jupyter了,后面咱可能就少提ipython了. # 打开命令行,让我们输入 jupyter notebook 当然,这个前提是你已经安装了jupy ...

随机推荐

  1. kafka 消费模型图

  2. boost第 4 章 事件处理

    http://zh.highscore.de/cpp/boost/ 1.信号 Signals 2.一旦对象 被销毁,连接就会自动释放. 让 FF类继承自 boost::signals::trackab ...

  3. angular6 input节流

    一直以为   pipe(debounceTime(1000), distinctUntilChanged())  不起作用 原因:使用方法错误 <input type="text&qu ...

  4. DocumentBuilderFactory.newInstance() 异常解决

    现象: objc[27212]: Class JavaLaunchHelper is implemented in both /Library/Java/JavaVirtualMachines/jdk ...

  5. 针对小程序for循环绑定数据,实现toggle切换效果(交流QQ群:604788754)

    如有更好的方法实现,可以留言或加群交流学习.谢谢(交流QQ群:604788754) WXML: <block wx:for="{{datanum}}" wx:for-inde ...

  6. Paper Reading: Stereo DSO

    开篇第一篇就写一个paper reading吧,用markdown+vim写东西切换中英文挺麻烦的,有些就偷懒都用英文写了. Stereo DSO: Large-Scale Direct Sparse ...

  7. Delphi 带星期几的日期格式化

    把日期按日期+星期几的格式输出 方法1:DatetoStr + DayOfWeek计算 ,这种办法灵活,但计算量大,不再祥叙. 方法2:FormatDateTime 具体代码如下://这里需要用For ...

  8. --save-dev --save 的区别

    --save 是发布会还在使用 --save-dev 是在开发中需要用到的 --save 依赖的文件在denpendencis下 --save-dev 依赖的文件都在dvedependencis下

  9. spring中的AOP实验(二)

    软件151  王帅 1.目标对象的接口:IStudent.java  package  com.dragon.study;   public   interface  IStudent  {      ...

  10. 记录PHP的执行时间

    网上不少误导信息,实际上这个答案在PHP源码中的Zend文件夹下bench.php是有的 在此纠正下网络上复制粘贴造成的错误.希望后来人少踩点坑. function getmicrotime() { ...