您不必在“主”类中创建新变量....
您可以通过您创建的对象使用 getter 和 setter。
此外,将玩家统计数据中的变量复制到主类也不是一个好主意,因为现在您必须维护相同数据的两个副本,至少在您进入主类范围之前是这样。如果处理不当,也可能导致数据不一致。
假设您使用的是 Java,您可以这样做。
public class PlayerStats{
private int var1=20;
public void setVar1(int var1){
this.var1=var1
}
public int getVar1(){
return var1
}
}
public class mainClass{
PlayerStats pStats = new PlayerStats();
pStats.getVar1();
pStats.setVar1(14);
System.out.println(pStats.getVar1());
}
感谢您的回答,但是,在 mainClass 中创建的对象中,如果我在一个函数中创建对象,如何在同一类的另一个函数中使用它?
取决于这两个函数的连接方式和连接方式以及该对象对您的类的重要性。
如果对象对类非常重要:
也就是说,您几乎在所有功能中都使用它,您的类围绕着玩该对象,然后您可以在类级别创建它沿着这些线
public class mainClass{
PlayerStats pStats = new PlayerStats();
public void function1() {
pStats.setVar1(14);
System.out.println(pStats.getVar1());
}
public void function2(int x) {
pStats.setVar1(x);
System.out.println(pStats.getVar1());
}
}
如果两个功能没有连接:
如果可能的话,只需在函数范围内创建一个新对象。这比在类级别创建对象要好,因为在函数完成执行后,对象就可以进行垃圾回收了。然而,只要对象(主类的实例)在内存中,在类级别创建的对象就会留在内存中。
如果连接了两个函数,即您从第二个函数内部调用一个函数:
您可以将对象作为参数传递,沿着这些方向传递
public class mainClass{
public void function1() {
PlayerStats pStats = new PlayerStats();
pStats.setVar1(14);
function2(pStats)
}
public void function2(PlayerStats x) {
System.out.println(pStats.getVar1());
}
}
还有 google dependency injection
,这是一个重要的概念,尽量多用。它产生了良好的decoupled and testable
设计
还有很多要说的,人们已经写了关于这个主题的书籍,OO 设计本身就是一门艺术。