因此,我正在开发一个用于模拟收集系统的程序,主系统接收物品,但是有不同类型的物品,例如需要id检查的物品...我正在使用多态方法来访问这些物品但是,对于类,我可以根据访问其他类的方法中发生的情况从主类更改变量。
EX:
select count(*)
from (select code
from t
group by code
having max(a) is null and max(b) is null
) t;
让我们说我必须保持所有非散装物料的预期重量,并在itemCollection类中有一个称为散装的变量,我如何使用此物料不是散装的事实。我可以从Almorphous类的AlcoholItem类方法中更改AlcoholItem类的itemCollection的bulk变量吗?
答案 0 :(得分:0)
如何从另一个JAVA类访问变量?
通常,您希望避免这种情况,并希望使用该方法:getter检索值,setter设置其他类的对象的值。
我可以从AlcoholItem类方法中获取多态吗? 可以从AlcoholItem更改itemCollection的bulk变量 类?
添加大宗商品并不意味着所有项目都是大宗商品。您应该对bulk
中的ItemCollection
字段给出清晰的语义。
关于更新集合中没有散装物品的重量,我会用另一种方式来做,因为物品的收藏取决于物品:当您在集合中添加一个物品时,请检查该物品是否不散装,如果不是,请根据以下内容更新收藏集的权重。
通常,您希望尽可能避免类/对象之间的双向耦合。
您还应该在项目类/接口中定义一个boolean isBulk()
方法。
在ItemCollection
类中,add()
看起来像:
public void add(Item item){
if (!item.isBulk()){
weight += item.getWeight();
}
else{
bulk = item.isBulk(); // as discussed check the relevance of this flag.
}
// ...
}