之前几篇博客一大堆废话,着实浪费时间也没啥实际作用。除了总结一些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. SQL基本介绍

    SQL学习资料来源:http://www.w3school.com.cn/sql/index.asp SQL 是用于访问和处理数据库的标准的计算机语言. 什么是 SQL?SQL 指结构化查询语言SQL ...

  2. 学号 20175212 《Java程序设计》第3周学习总结

    学号 20175212 <Java程序设计>第3周学习总结 教材学习内容总结 一. Java--面向对象语言 核心内容为对象,一切围绕着对象.以下为三个重要性质: 封装性:将数据和对数据的 ...

  3. java----判断闰年和平年

    public class year{ public static void main(String[] args){ int year=2010; if((year%4==0&&yea ...

  4. idea 的Maven执行异常终止(退出代码1)

    Maven execution terminated abnormally (exit code 1)译文:Maven执行异常终止(退出代码1) 我遇到这个错很迷茫 你们遇见了不要慌 只需要粘贴一行代 ...

  5. 【持续更新】JAVA面向对象多线程编程的一些tips

    sleep()和wait()的区别 sleep()方法是Thread类的方法,wait()方法是Object类的方法. 调用sleep()方法的过程中,线程不会释放对象锁,睡眠时间一过,就又开始执行. ...

  6. sed 命令总结

    sed是Stream Editor的缩写,是操作.过滤.转换文本内容的强大工具,对文件实现增删改查 主要参数 -n 取消默认输出 -i 修改保存文件 内置命令字符 a,append追加 d,delet ...

  7. Navicat for Mysql导入mysql数据库脚本文件

    1.鼠标右键点击,然后选中运行sql文件,执行,然后选中编码方式为Utf8,即可. 2.可能会出现一系列的问题,参照着报错,进行mysql配置文件的修改.

  8. SQL-56 获取所有员工的emp_no、部门编号dept_no以及对应的bonus类型btype和recevied,没有分配具体的员工不显示

    获取所有员工的emp_no.部门编号dept_no以及对应的bonus类型btype和recevied,没有分配具体的员工不显示CREATE TABLE `dept_emp` ( `emp_no` i ...

  9. jmeter测试计划元素执行顺序

    jmeter测试计划元素执行顺序 测试计划的元素是有序的,通过以下方式执行: 1–配置节点 2–前置处理器 3–定时器 4–取样器 5–后置处理器(只在有结果可用情况下执行) 6–断言(只在有结果可用 ...

  10. css之positon与z-index

    在网页设计中,position属性的使用是非常重要的.有时如果不能认识清楚这个属性,将会给我们带来很多意想不到的困难. position属性共有四种不同的定位方法,分别是static.fixed.re ...