zoukankan      html  css  js  c++  java
  • JAVA中implements实现多接口

    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
    }
    }
    
    在实现接口方法的同时,也拥有了接口中定义的成员变量,这样就构成了一个有机的整体,使整个程序既体现了类的多样性,又不 失结构组合的灵活性,且需要在某个特性增加其他功能,只要修改接口就可以了,其继承的类自动修改


  • 相关阅读:
    phoneGap
    backbonejs使用
    优化后的光标插件
    选择文本,范围
    js最佳继承范型
    深入理解事件捕获冒泡
    keyCode,charCode,which
    与IE奋战的血泪史
    【程序员的自我修养】如何使用IRC
    【程序员的自我修养】写给新手程序员的一封信
  • 原文地址:https://www.cnblogs.com/yuzaipiaofei/p/4124655.html
Copyright © 2011-2022 走看看