簡體   English   中英

從B類訪問A類

[英]Accessing class A from class B

我正在做這件學校的工作。 它關於垃圾箱包裝問題,但它有點修改關於手推車。 小車內可以有兩個或更多個樁。 到目前為止我所做的是一個包裹類和樁類。 我需要遵循的規則很少。 其中之一就是當我把包裹(寬度3)放在堆里時,我不能把包裹(寬度4)放在它上面。

是的,我將有小班,班級和包裹類。

我在這里嘗試做的是在樁類中創建一個函數,它將樁的寬度更改為剛剛放入的Parcel的寬度。如何從樁類中訪問宗地寬度? 會不會是getW()? 非常感謝幫助。 或者我應該在手推車課程中這樣做? 不確定如何實現這一點。

public class Parcel {
private int H;
private int W;
private int customer;

Parcel(int inH, int inW, int inCustomer){
    this.H = inH;
    this.W = inW;
    this.customer = inCustomer;
}

public int setH(){

    int x = (int )(Math.random() * 50 + 1);

    return x;
}

public int setW(){

    int y = (int )(Math.random() * 100 + 1);

    return y;
}

public int getW(){
    return W;
}

public int getH(){
    return H;
}

你的setW()被錯誤命名。 它應該是randomizeWidth() 你應該考慮做的是給上面的類一個有效的寬度setter方法, setWidth(int width)設置W變量(將它重命名為width以符合Java命名約定 - 變量名應該以小寫字母開頭)以便外部類可以調用方法並設置寬度。

樁的寬度和其他屬性同樣應該有有效的定位器和吸氣劑。 然后,樁可以調用上面的Parcel方法並使用該信息來設置其寬度。 如果Pile對象包含Parcel對象,那么Pile可能更好地根據它所包含的Parcel對象的寬度設置自己的寬度。 所以我的建議是Parcel 沒有設置樁的寬度。

假設樁有一個parcel類型的字段,你可以調用getter。

public class Pile
{

    Parcel parcel;
    public Pile()
    {
        //instanciate parcel here;
    }


    public void someMethod
    {
        int w = this.parcel.getW();
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM