继承了我的装甲和武器设置的代码块,但是eclipse告诉我,当我为力量和生命点添加变量时,它没有为它分配变量。我认为这是因为它是我的播放器类中的私有变量,所以我是否将这些变量公开而不是私有?
public void setArm(){
switch
(threeSidedDie.getValue()){
case 1: Armors = "helmet";
hitP += 1;
break;
case 2: Armors = "gloves";
hitP += 2;
break;
case 3: Armors = "chest armor";
hitP += 3;
break;
}
}
答案 0 :(得分:1)
您是否听说过Feature Envy或Law of Demeter?
Feature Envy:广泛使用另一个类的方法可能属于另一个类 类。考虑将此方法移动到它非常羡慕的类。
您应该主要根据player
类中的player
值移动您的流程,从而解决您的问题,而不涉及丑陋的getter和setter。
隐喻:如果我每天都需要汇款到我的帐户,我有两个选择:
显然,2)是合乎逻辑的建议。
提出反对本质上面向对象的编程。讲述/发送消息是至关重要的。在极少数情况下,需要提问。
从第一年起就养成了良好的习惯;)
答案 1 :(得分:0)
这是一些代码。
在setArm中使用它:
myPlayer.getHitPoints()
在您的播放器类中添加以下内容:
getHitPoints(){
return this.hitPoints;
}
setHitPoints( int hitP ){
this.hitPoints = hitP;
}
getStrength(){
return this.strength;
}
setStrength( int str){
this.strength = str;
}