Как правильно выделить объект и класс в ООП? Везде классы и объекты объясняются через простые примеры, но что если у меня стоит задача разработать для автопарка систему учета выхода автобусов на линии, где будет осуществлена запись в файл данных. Куда входят: дата выхода на линию, время выхода, марка автобуса, его городской номер, номер маршрута, ФИО водителя и т.д. На простых примерах все ясно и понятно, но как быть вот с этим, что здесь будет являться классом? Я предполагаю, что это будет просто объект под названием Info, который содержит в себе все эти данные(поля), но не совсем уверен в этом.
В данной задаче классом будет объект "Автобус", который будет содержать все необходимые поля (дата выхода на линию, время выхода, марка автобуса, городской номер, номер маршрута, ФИО водителя и т.д.) и методы для работы с этими данными. Таким образом, у вас будет класс "Автобус", а объекты этого класса будут представлять конкретные автобусы вашего автопарка. Кроме того, возможно, вам потребуется класс "Система учета", который будет отвечать за запись данных в файл.
Примерный код может выглядеть примерно так:
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)
Каждый объект класса "Автобус" представляет конкретный автобус, а объект класса "Система учета" отвечает за запись информации о выходе автобусов на линию.
В данной задаче классом будет объект "Автобус", который будет содержать все необходимые поля (дата выхода на линию, время выхода, марка автобуса, городской номер, номер маршрута, ФИО водителя и т.д.) и методы для работы с этими данными.
Таким образом, у вас будет класс "Автобус", а объекты этого класса будут представлять конкретные автобусы вашего автопарка. Кроме того, возможно, вам потребуется класс "Система учета", который будет отвечать за запись данных в файл.
Примерный код может выглядеть примерно так:
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)
Каждый объект класса "Автобус" представляет конкретный автобус, а объект класса "Система учета" отвечает за запись информации о выходе автобусов на линию.