作者lion1116 (...)
站内java
标题[问题]请问这会是继承的问题吗?
时间Wed Sep 12 02:53:42 2007
小弟写了一个小程式如下,
class Basic {
protected byte lvl;
protected int hp;
protected int mp;
public void setLevel(int _lvl){
lvl = (byte)_lvl; //设定lvl的值;
}
public int getHP(){
return hp; //回传hp的值;
}
public int getMP(){
return mp; //回传mp的值;
}
}
public class Elf extends Basic{
public Elf(int _con, int _wis){
con = (byte)_con;
wis = (byte)_wis;
hp = (int)(con*1.2f); //计算基本HP;
hp += (int)(lvl*con*0.8f); //此行则计算多少等级时有多少HP;
mp = (int)(wis * 1);
mp += (int)(lvl*wis*0.7f);
}
}
public class user {
public static void main(String args[]){
Elf elf = new Elf(13,12);
elf.setLevel(10); //设定等级为10;
//列印出HP及MP;
System.out.println("HP: "+elf.getHP()
+"\tMP: "+elf.getMP());
}
}
小弟在测试时,只会印出
HP: 15 MP: 12
後来用debug去看,发现lvl一直维持为 0,
但是又看不出哪里有问题...
可以麻烦高手指点一下吗??
--
以上这些程式有点长,先感谢您耐心的检查。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 218.164.150.214
1F:推 freesamael:你在设定Level之前就把hp跟mp算好了 09/12 03:54
2F:→ freesamael:改了level之後也没有重新计算hp跟mp 09/12 03:54
3F:推 plokijuh:换lv型态成int试看看 09/12 03:52
4F:推 lion1116:阿...我了解了,所以说我在使用constructor的时候必须同 09/12 11:38
5F:→ lion1116:时设定等级... 09/12 11:40