我有两节课;第一个有这个代码:
public class Artigo {
private String descricao;
private double preco;
private int stockCorrente;
public Artigo(String descricao, double preco){
Artigo(descricao, preco, 0);
}
private void Artigo(String descricao, double preco, int stockCorrente){
this.descricao = descricao;
if (preco < 0 || stockCorrente < 0) {
System.out.println("Erro: Valores negativos.");
System.exit(0);
} else
this.preco = preco;
this.stockCorrente = stockCorrente;
}
public String getDescricao(){
return descricao;
}
public double getPreco(){
return preco;
}
public void setPreco(double preco){
this.preco = preco;
}
public int getStockCorrente(){
return stockCorrente;
}
public boolean isStockEnough(int nUnits){
if (stockCorrente < nUnits){
return false;
}else{
return true;
}
}
public boolean sell(int nUnits){
if (isStockEnough(nUnits)){
stockCorrente = stockCorrente - nUnits;
return true;
}else{
return false;
}
}
public void recharge(int nUnits){
stockCorrente = nUnits;
}
public boolean equals(Artigo otherProducts){
return this.descricao.equalsIgnoreCase(otherProducts.descricao);
}
public String toString(){
return descricao + ", preço: " + preco + ", stock: " + stockCorrente;
}
然后是我的另一堂课:
public class Pack {
private String descricao;
private int nArtigos;
private double DESCONTO;
public Pack(String descricao, double desconto){
this.descricao = descricao;
this.DESCONTO = desconto;
}
public String getDescricao(){
return descricao;
}
public int getnArtigos(){
return nArtigos;
}
public double getDesconto(){
return DESCONTO;
}
public int getStockCorrente(){
return stockCorrente;
}
public boolean equals(Pack otherpacks){
return this.descricao.equalsIgnoreCase(otherpacks.descricao);
}
public String toString(){
return descricao + " com os artigos [ " + " ], com desconto de " + DESCONTO + ", com preco de " + "PRECO" + ", com stock corrente de " + "STOCK" ;
}
public boolean existArtigo(Artigo otherProducts){
}
public boolean addArtigo(Artigo newArtigo){
}
public boolean haveStock(int nUnits){
}
public boolean sell(int nUnits){
}
public double getPreco(){
}
在本课程中,所有方法都是必需的。 其中最重要的部分是空的,因为我不知道该怎么做。 我的意思是,我知道该怎么做,我不知道怎么做。
请求是:向包中添加文章,获取每个文章的名称和当前库存。在这里,我需要让他们连接其他类的方法,对吧?但是怎么样?
答案 0 :(得分:1)
你的问题是将一个类数据访问到其他类这可以通过使用get方法来完成,即使你可以通过保持set方法来设置数据。 例如:
class A
{
private int price;
public int getPrice()
{
return price;
}
public void setPrice()
{
this.price=price;
}
}
现在,如果我想访问B类价格数据,那么
class B
{
//create object of class A in any method where you want to access price data
A a=new A();
int price =a.getPrice();
}
答案 1 :(得分:0)
你应该在Pack中声明一个对象Artigo
private Artigo artigo;
然后你可以在构造函数包
中初始化这个对象public Pack(String descricao, double desconto){
artigo =new Artigo(descricao,desconto);
this.descricao = descricao;
this.DESCONTO = desconto;
}
之后你可以使用artigo的方法
artigo.sell(1);
如你所愿
答案 2 :(得分:0)
或者您可以从基类扩展
public class Pack extends Artigo{
public Pack(String descricao, double desconto){
super(descricao,desconto);
}
}
如果要访问基类的方法,只需输入super.methodname;