之前几篇博客一大堆废话,着实浪费时间也没啥实际作用。除了总结一些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. 苹果笔记本安装windows正版操作系统

    http://vip.dzzysm.cn/mac/ http://www.windows7en.com/Win7/20439.html windows 7之家的网友很多,其中不缺乏土豪网友购买苹果的M ...

  2. JQuery 方法合集(懒人备记)

    原创文章,转载请私信.谢谢~ PS:请将jquery的引用文件放在head的标签内 语法:$(selector).action() $(document).ready(function(){ // 开 ...

  3. git切换用户踩坑

    1)配置用户信息 git config --global user.name "username" git config --global user.email "**@ ...

  4. 二进制转base64

    一. 以fetch的获取数据 1. response(后台返回): const buffer = response.arrayBuffer(),将二级制转成arrayBuffer类型 2. buffe ...

  5. javaScript简单的留言板

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...

  6. 在form表单里上传图片

    需要上传多个图片分别上传,本来提供的工具类里上传一张可以form表单对象实现 后台用MultipartFile file var formdata = new FormData($("#in ...

  7. 【转载】DQL、DML、DDL、DCL的概念与区别

    原文地址:https://www.cnblogs.com/fan-yuan/p/7879353.html SQL(Structure Query Language)语言是数据库的核心语言. SQL的发 ...

  8. vue+uwsgi+nginx部署路飞学城

    vue+uwsgi+nginx部署路飞学城   有一天,老男孩的苑日天给我发来了两个神秘代码,听说是和mjj的结晶 超哥将这两个代码,放到了一个网站上,大家可以自行下载 路飞学城django代码 ht ...

  9. 为django项目配置celery的后台启动

    为root用户启动celery创建的脚本,该脚本的拥有者与使用者都必须是root .使用方法为 /etc/init.d/celeryd [start]|[stop]|[kill] 需增加两个文件 /e ...

  10. tensorflow 只恢复部分模型参数

    import tensorflow as tf def model_1(): with tf.variable_scope("var_a"): a = tf.Variable(in ...