Как правильно выделить объект и класс в ООП? Везде классы и объекты объясняются через простые примеры, но что если у меня стоит задача разработать для автопарка систему учета выхода автобусов на линии, где будет осуществлена запись в файл данных. Куда входят: дата выхода на линию, время выхода, марка автобуса, его городской номер, номер маршрута, ФИО водителя и т.д. На простых примерах все ясно и понятно, но как быть вот с этим, что здесь будет являться классом? Я предполагаю, что это будет просто объект под названием Info, который содержит в себе все эти данные(поля), но не совсем уверен в этом.

21 Авг 2019 в 06:58
177 +1
0
Ответы
1

В данной задаче классом будет объект "Автобус", который будет содержать все необходимые поля (дата выхода на линию, время выхода, марка автобуса, городской номер, номер маршрута, ФИО водителя и т.д.) и методы для работы с этими данными.
Таким образом, у вас будет класс "Автобус", а объекты этого класса будут представлять конкретные автобусы вашего автопарка. Кроме того, возможно, вам потребуется класс "Система учета", который будет отвечать за запись данных в файл.

Примерный код может выглядеть примерно так:

class Bus:
def __init__(self, date, time, brand, number, route, driver):
self.date = date
self.time = time
self.brand = brand
self.number = number
self.route = route
self.driver = driver
class AccountingSystem:
def __init__(self, file_name):
self.file_name = file_name
def write_to_file(self, bus):
with open(self.file_name, 'a') as f:
f.write(f"{bus.date}, {bus.time}, {bus.brand}, {bus.number}, {bus.route}, {bus.driver}\n")
# Пример использования
bus1 = Bus("2022-03-01", "10:00", "Mercedes-Benz", "123", "15", "Иванов Иван Иванович")
accounting_system = AccountingSystem("bus_events.txt")
accounting_system.write_to_file(bus1)

Каждый объект класса "Автобус" представляет конкретный автобус, а объект класса "Система учета" отвечает за запись информации о выходе автобусов на линию.

20 Апр 2024 в 13:10
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир