我实现了一个名为 mobileCall 的类。我从这个类创建了几个对象,并使用来自 XML 的值填充这个对象的 String 变量,该 XML 具有针对特定人员的多个 mobileCalls。我需要对这个人拨打的所有电话进行分组和计数(即国内电话:11 分钟;国际电话:15 分钟;数据:20 MB)
因此,我在类中实现了几个公共方法来检查调用的类型以返回 true 或 false。在主类中,我调用了这些方法来检查它们是否满足我计算特定计数器的标准。
某个专业人士看到我的代码并说这不是一个好的做法,而 OOP 旨在消除这种“你是什么”方法。并且有更好的方法来实现这种行为。我试图通读 OOP 和封装,但找不到更好的方法。我觉得他说的有道理。
代码示例
public class MobileCall {
String callType;
String callDuration;
String callAmount;
String callerID;
String calleID;
....
public boolean isNational(){
if (callType.compareTo("National")==0)
return true;
else
return false;
}
public boolean isInternational(){
if (callType.compareTo("international")==0)
return true;
else
return false;
}
...
}
In Main Method
int nationalCounter;
int internationalCounter;
MobileCall mobileCall = new MobileCall();
if(mobileCall.isNational())
nationalCounter = nationalCounter + mobileCall.getCallDuration();
else if (mobileCall.isInternational())
internationalCounter = internationalCounter + mobileCall.getDuration();
....