
抽象与接口之狐狸和兔子(下)
Field包中的Field类 public Cell place(int row, int col, Cell o)
{
Cell ret = field[row][col];
field[row][col] = o;
return ret;
}任何实现了cell接口类的对象都能交给o

抽象与接口之狐狸和兔子(中)
Cell包中的cell类作为接口import java.awt.Graphics;
public interface Cell {
void draw(Graphics g, int x, int y, int size);
}Java把抽象的概念又更推进了一步。这就是接口(Interface)。接口其实就是完全抽象的类,因此接口和类的地位是一样的,此前所有针对类的所有法则同样适用...

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

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

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