JAVA中implements实现多接口
2011-07-09 11:45
501 查看
JAVA中implements实现多接口 2010-06-16 21:48 这里有一个游戏,人猿泰山。 主角是一个单独的类,这里我们主要用怪物说明接口的用法: 怪物有很多种, 按地域分:有的在天上飞,有的在地上跑,有的在水里游 按攻击方式分:有的能近距离物理攻击,有的能远距离射击 假设游戏里需要这样的几 种怪—— 野狗:地上移动,近距离攻击 黑熊:地上移动,近/远距离攻击 秃鹫:地上/天上移动,远距离攻击 食人鱼: 水中移动,近距离攻击 鳄鱼:地上/水中移动,近距离攻击 显然,如果我们将每一种怪物定义为一个类,那就不是面向对象的程序开 发了,我们应当使用接口: interface OnEarth{//陆地接口 int earthSpeed;//陆地移动速度 void earthMove();//陆地移动方法 } interface OnWater{//水中接口 int waterSpeed;//水中移动速度 void waterMove();//水中移动方法 } interface OnAir{//空中接口 int airSpeed;//水中移动速度 void airMove();//水中移动方法 } interface NearAttack{//近距离攻击接口 int nearAttackPower;//近距离攻击力 void nearAttack();//近距离攻击方法 } interface FarAttack{//远距离攻击接口 int farAttackPower;//远距离攻击力 void farAttack();//远距离攻击方法 } 这样一来,根据需求,我们可以选择性的继承接口: class Tyke implements OnEarth, NearAttack{//野狗类 void earthMove(){//实现继承的方法1 } void nearAttack(){//实现继承的方法2 } } class BlackBear implements OnEarth, NearAttack, FarAttack{//黑熊类 void earthMove(){//实现继承的方法1 } void nearAttack(){//实现继承的方法2 } void farAttack(){//实现继承的方法3 } } class Vulture implements OnEarth, OnAir, FarAttack{//秃鹫类 void earthMove(){//实现继承的方法1 } void airMove(){//实现继承的方法2 } void farAttack(){//实现继承的方法3 } } class ManeatFish implements OnWater, NearAttack{//食人鱼类 void waterMove(){//实现继承的方法1 } void nearAttack(){//实现继承的方法2 } } class Crocodile implements OnEarth, OnWater, NearAttack{//鳄鱼类 void earthMove(){//实现继承的方法1 } void waterMove(){//实现继承的方法2 } void nearAttack(){//实现继承的方法3 } } 在实现接口方法的同时,也拥有了接口中定义的成员变量,这样就构成了一个有机的整体,使整个程序既体现了类的多样性,又不 失结构组合的灵活性,且需要在某个特性增加其他功能,只要修改接口就可以了,其继承的类自动修改
相关文章推荐
- 【Java面试题】60 接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承具体类(concrete class)? 抽象类中是否可以有静态的main方法?
- JAVA中implements实现多接口
- JAVA 构造器, extends[继承], implements[实现], Interface[接口], reflect[反射], clone[克隆], final, static, abstrac
- JAVA中implements实现多接口
- Java - 接口是否可继承(extends)接口?抽象类是否可实现(implements)接口?抽象类是否可继承具体类(concrete class)?
- Java中接口interface和实现implements问题
- 【Java面试题】13 Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)?
- Java 学习笔记 (3) -抽象类 abstract 接口 interface 内部类 inner class 继承 extends 实现 implements 包 package
- JAVA中implements实现多接口
- JAVA中implements实现多接口
- Java 面向对象:接口interfaces 实现Implements
- JAVA中implements实现多接口
- 接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承实体类(concrete class)?
- Java 接口实现
- java接口签名(Signature)实现方案
- 使用函数接口和枚举实现配置式编程(Java与Scala实现)
- 为什么实现不了接口?java~~~
- java实现后端接口加密
- 使用Java中Comparator接口实现自定义排序
- 今天用java弄个json数据交换接口,个人感觉这样实现省事实力。