Предполагая, что availableSeats
является свойством событий , у вас должен быть реестр событий, отображающий имена событий / идентификаторы событий на количество доступных мест.
Я полагаю, что это может быть хранится в классе, хотя инициализация билетов не имеет большого смысла:
class Ticket:
events = {}
def __init__(self, availableSeats, eventName, ticketId, date, time, venue):
self.events.setdefault(eventName, availableSeats)
self.eventName = eventName
self.ticketId = ticketId
self.date = date
self.time = time
def updateSeatsAvailable(self):
self.events[self.eventName] -= 1
return self.events[self.eventName]
Хотя, насколько я понимаю, экземпляры Ticket
, вероятно, должны иметь ссылку на объект события, сказал объект события будет хранить связанную с событием информацию (доступные места, возможно, дата, время и место в зависимости от).
И наоборот, Ticket
должен быть переименован в Event
, ticketId не должен быть частью этого, возможно, другие поля не должны также зависеть от обработки, например, многодневных или многопользовательских событий (но тогда в этом событии, вероятно, должны храниться проверочные данные, относящиеся к ним).
Также не вижу смысла availableSeats
в классе, он полностью не используется.
И я не вижу никакой связи между названием вопроса и телом.