我的問題是以下,我有一個班,我們把它叫做Theatre
。如何在不實例化兩次的情況下跨類共享值(或從另一個類獲取變量)。
這個Theatre
有一個構造函數,我在這裏指定這個Theatre
有的數量Seats
。
Show
類,有一個集合Seats
,每個都有其自己的屬性,如bool Empty
。
所以總結代碼:
class Theatre
{
public Theatre(int numberOfSeats)
{
this.numberOfSeats = numberOfSeats;
}
}
比方說,我們在其他地方實例化它100
。
Theatre myTheatre = new Theatre(100);
對於Show
類:
class Show
{
List<Seats> listOfSeats = new List<Seats>();
public Show()
{
for (int i = 0; i < 100; i++) // <---- And here is my problem!!
{
//Code to add to list
}
}
}
我是相當新的oop,所以裸陪我。
我的問題是我不知道擺脫那100
。
我想有類似myTheatre.NumberOfSeats的東西,但我不確定那會如何工作。
我的問題是,我在另一個班級已經實例化myTheatre,所以我將不得不作出一個新的劇院內Show
,只得到的議席數目,我會用什麼樣的組合物和deletagation,但是這將明確違反ISP。
但即使這樣也有問題,因爲當我製作新的Theatre
時,我必須將100
作爲一個paratmer,如果這種情況發生變化,我將不得不手動更改它。
所以我的問題是:
- 我失去了一些東西明顯? (很可能)
- 你會推薦什麼方法?
- 是否有類似共享變量跨類? (不想使用全球一詞,因爲我不確定這是我想要的,但它可能)。
作爲一個明顯的說明,上面不是實際的代碼,只是一個表示來澄清情況。
這比我想象的要容易得多,感謝這個明確的例子! +1並接受答案。 – Trufa