Java实践(九)——接口Interface

实践目的:

1、学会定义接口

2、掌握什么情况下用接口

3、抽象类与接口的区别

实践内容:

1、设计动物Animal类,和三个子类(Dog、Cat和Fish),另Fish也属于食物Food的子类,此时Food不能作为类,可以设计为接口。

2、设计棋盘接口BoardInterface,棋盘抽象类Board,和棋规则接口RuleInterface、棋手代理抽象类BoardAgent。

提示:

1)对于(最抽象的、最上层的、最统一的)棋类游戏,BoardInterfaceRuleInterface界定棋盘和下棋规则的有关规定。

2)受鸿门宴中范增和张良对弈精彩桥段的启发,负责思考的和负责操纵棋子的应该分开,分属Player (棋手BoardAgent抽象类。其中负责操纵棋子的BoardAgent应该由Board来提供,也即Board持有BoardAgent的两个Object

3)局时,首先确定两位棋手,并确定哪一位是先手方,哪一位是后手方。然后为每个棋手分配一名BoardAgentAgent根据棋手指示的走步,首先确定该走步是否合法,并根据合法的走步,为棋手走子。也就是说,BoardAgent还充当了裁判的角色,他所掌握的规则是标准的、权威的。所以,BoardAgent应该实现RuleInterface接口。

总结:

posted @ 2012-10-25 13:37  涛涌四海  阅读(126)  评论(0编辑  收藏  举报