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接口。

总结:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值