Моя проблема в следующем, у меня есть класс, давайте назовем его Theatre
.
У этого Theatre
есть конструктор, в котором я указываю сумму Seats
, которую имеет Theatre
.
Класс 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
}
}
}
Моя проблема в том, что я не знаю, как избавиться от этого 100
.
Я хотел бы иметь что-то вроде myTheatre.NumberOfSeats, но я не совсем уверен, как это будет работать.
Моя проблема в том, что я уже создал экземпляр моего театра в другом классетак что мне нужно было бы создать новый театр внутри Show
, только чтобы получить количество мест, я бы использовал что-то вроде композиции и удаления, но это явно нарушило бы ISP.
Но даже это имеетпроблема, так как, когда я делаю новый Theatre
, я должен был бы поставить 100
как параметр и, если этоПрежде чем изменить, я должен был бы изменить это вручную.
Итак, мои вопросы:
- Я что-то упускаю из виду?(Очень вероятно)
- Какой подход вы бы порекомендовали?
- Существует ли что-то вроде общей переменной в разных классах?(Не хочу использовать слово «глобальный», потому что я не уверен, что это то, что я хочу, но это могло бы быть.)представление прояснить ситуацию.