我正在尝试创建一个计算器应用程序,用于存储按下按钮的次数,然后使用该信息执行各种任务。我认为最好创建一个单独的java文件,其中包含要引用的所有对象及其信息。我在调用我之前在主要活动中设置的对象时遇到了一些问题。我知道我必须初始化对象,但我不知道在哪里做,如果我可以,实际上,在一个类中创建多个对象。
公共类PriceObjects {
public class valuesA {
public int freqDayA = 0;
public int freqWeekA = 0;
public int totalDayA = freqDayA*2;
public int totalWeekA = freqWeekA*2;
}
public class valuesB {
int freqDayB = 0;
int freqWeekB = 0;
int totalDayB = freqDayB*3;
int totalWeekB = freqWeekB*3;
}
public class valuesC {
int freqDayC = 0;
int freqWeekC = 0;
int totalDayC = freqDayC*4;
int totalWeekC = freqWeekC*4;
}
public class valuesD {
int freqDayD = 0;
int freqWeekD = 0;
int totalDayD = freqDayD*5;
int totalWeekD = freqWeekD*5;
}
public class valuesCustom {
int freqDayCustom = 0;
int freqWeekCustom = 0;
int totalDayCustom = freqDayCustom*40;
int totalWeekCustom = freqWeekCustom*40;
}
}
这段代码是好还是我应该把它全部保存在MainActivity中? 谢谢!
答案 0 :(得分:2)
要研究的东西可能是Model View Controller。我们的想法是您的业务逻辑/对象是模型,您的实际视图是您的xml布局文件,而“控制”您的视图的控制器是您的活动类。看起来你可以通过使用一些面向对象的设计来清理你的类。特别是你的价值观类。而不是为每种值创建一个单独的类,为什么不创建一些你可以重用的泛型呢?
public class Values {
public int freqDay = 0;
public int freqWeek = 0;
public int totalDay;
public int getTotalDay(){
totalDay = freqDay*2;
return totalDay;
}
public int totalWeek;
public int getTotalWeek(){
totalWeek = freqWeek*2;
return totalWeek;
}
}
这样,如果您希望能够存储多组值,您可以将它们保存在列表中,如下所示:
List<Values> myValues = new ArrayList<Values>();
myValues.add(new Values());
这些不是完美的解决方案/代码,但它只是让您更多地考虑对象/动态和可重用代码的东西。希望这能让你在某个地方开始寻找!
答案 1 :(得分:0)
这里你已经在类中创建了一个类,这不是编写OOPS代码的最佳方法。最好的是在一个类中创建两个类,通过使用不同的方法(如
)来计算所有计算逻辑public class Calculator{
public void Sum(){
// Enter the logic
}
public void diff(){
// Enter the login
}
}
现在创建一个主类,在其中创建计算器类的对象,并从该对象访问不同的方法,如Sum和diff
public class mainClass(){
public static void main(string args[]){
Calculator obj = new Calculator(); // Object creation
obj.Sum(); // Accessing the sum method
}
}
通过这种方式你可以做到。它不是一个完整的代码,但这是oops所有的方法