Java入门系列-17-多态

 这篇文章贯穿游戏中的一些功能带你掌握多态的使用

为什么要使用多态

在一款对战类游戏中(如有雷同纯属巧合),有两个不同的法师英雄:小乔、妲己。
两个法师英雄的都有攻击的方法,小乔的攻击伤害为10,消耗魔法20。妲己的攻击伤害为15,消耗魔法30。玩家可以操作两个英雄进行攻击,下面看看实现的代码。

父类-英雄:whyusepolymorphic.Hero.java

package whyusepolymorphic;  public class Hero {     private int magicPoint;//魔法值     private int hurt;//伤害     private String name;//姓名          public Hero(int magicPoint, int hurt, String name) {         super();         this.magicPoint = magicPoint;         this.hurt = hurt;         this.name = name;     }      public int getMagicPoint() {         return magicPoint;     }      public void setMagicPoint(int magicPoint) {         this.magicPoint = magicPoint;     }          //省略属性的 getter 和 setter 方法 }

子类-小乔:whyusepolymorphic.LittleJoe.java

package whyusepolymorphic;  public class LittleJoe extends Hero {      public LittleJoe(int magicPoint, int hurt, String name) {         super(magicPoint, hurt, name);     }      //攻击的方法     public void attack() {         System.out.println(this.getName()+" 发动攻击,伤害为:"+this.getHurt()         +"。消耗 20的魔法值");         this.setMagicPoint(getMagicPoint()-20);//魔法值-20     }  }

子类-妲己:whyusepolymorphic.Daji.java

package whyusepolymorphic;  public class Daji extends Hero{      public Daji(int magicPoint, int hurt, String name) {         super(magicPoint, hurt, name);     }          public void attack() {         System.out.println(this.getName()+" 发动攻击,伤害为:"+this.getHurt()         +"。消耗 30的魔法值");         this.setMagicPoint(getMagicPoint()-30);//魔法值-30     } }

玩家:

关键字:
50000+
5万行代码练就真实本领
17年
创办于2008年老牌培训机构
1000+
合作企业
98%
就业率

联系我们

电话咨询

0532-85025005

扫码添加微信