Spiritree Blog

分享学习中的笔记与心得

2016年8月

August 29, 2016

抽象与接口之狐狸和兔子(上)

狐狸和兔子都有年龄当年龄到一定的上限就死亡狐狸可以随机决定在周围的兔子中吃一个狐狸和兔子都可以随机决定生一个小的在周围的格子中如果不吃不生,狐狸和兔子可以随机决定向旁边空格子进一步概念图:Animal包Animal类import java.util.ArrayList; import field.Location; public abstract class Animal { pr...
August 25, 2016

设计原则之城堡游戏(下)

制造Handler类(框架+数据)以及它的子类来加强可扩展性命令的解析脱离if-else定义一个Handler来处理命令用Hash表来保存命令和Handler之间的关系Handler类及其子类public class Handler { protected Game game; public Handler(Game game) { this.game = ...
August 23, 2016

设计原则之城堡游戏(中)

用封装来降低耦合Room类和Game类不能有大量的代码和出口相关Game类尽量不使用Room类的成员变量类与类之间的关系成为耦合耦合越低越好,保持距离是良好代码的关键用封装来降低耦合(类与类的分离度.成员变量都私有),用接口来实现聚合,用容器来实现灵活性+可扩展性用Hash表来表示方向(字符串来对应什么东西)Room类public class Room { private String...
August 18, 2016

设计原则之城堡游戏(上)

这是一个简单的空间游戏Game类public class Game { private Room currentRoom; private HashMap<String, Handler> handlers = new HashMap<String, Handler>(); public Game() { handle...
August 15, 2016

继承

以继承方式实现的媒体资料库,在课程代码实现的基础上,请实现一个表达MP3的媒体类型,能和CD、DVD一样存放进这个Database。Itempublic class Item { protected String title; protected int playingTime; protected boolean gotIt = false; protect...