之前几篇博客一大堆废话,着实浪费时间也没啥实际作用。除了总结一些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. Python3+Scapy安装使用教程

    一.说明 之前写DoS程序的时候(见"拒绝服务(DoS)理解.防御与实现"),数据包完全是自己构造的,这其中的难处一是要清楚各层协议的字段.字段长度.字段是数值还是字符.大头还是小 ...

  2. 2-Reverse Integer(简单)

    Description: Given a 32-bit signed integer, reverse digits of an integer. Example 1: Input: 123 Outp ...

  3. MSDN订户下载权限被屏蔽的办法

    使用Chrome浏览器,在加载完成页面之后,按F12,在控制台选项卡当中输入下面代码,即可解除屏蔽. $("#SubMigratedMessageArea").remove(); ...

  4. SqlSugar GridView aspnetpager 分页排序

    HTML页面 <%@ Register assembly="AspNetPager" namespace="Wuqi.Webdiyer" tagprefi ...

  5. python输入整数

    #!/usr/bin/env python#ecoding=utf-8'''Created on 2017年11月2日 @author: James zhan''' def fun(n): if n= ...

  6. git 删除与撤回

    Git 删除与撤回 标签: git 版本管理 删除文件 撤回删除操作 2017年01月13日 22:56:27786人阅读 评论(0) 收藏 举报  分类: Git(4)  版权声明:本文为博主原创文 ...

  7. 19_04_19校内训练[Game]

    题意 给出n,等概率地生成一个1~n的数列.现在有n个人从左到右站成一排,每个人拿有当前数列位置上的数字,并且一开始都不知道数字是多少(但知道n是多少).从左到右让每个人进行如下选择: 1.选择保留自 ...

  8. EFCore Lazy Loading + Inheritance = 干净的数据表 (一) 【献给处女座的DB First程序猿】

    前言 α角 与 β角 关于α角 与 β角的介绍,请见上文 如何用EFCore Lazy Loading实现Entity Split. 本篇会继续有关于β角的彩蛋在等着大家去发掘./斜眼笑 其他 本篇的 ...

  9. FPGA设计中的复位

    (1)异步复位与同步复位的写法 1.异步复位与同步复位的区别? 同步复位:若复位信号在时钟有效边沿到来时刻为有效,则执行一次复位操作. 优点: 1)同步复位是离散的,所以非常有利于仿真器的仿真: 2) ...

  10. SQLZOO网页中SQL的答案(SELECT from world篇)

    SELECT from world篇 11. 题目: The CASE statement shown is used to substitute North America forCaribbean ...