ISP(Interface Segregation Principle)

class Car:
    def __init__(self, brand, model, year):
        self.brand = brand
        self.model = model
        self.year = year

    def get_brand(self):
        return self.brand

    def get_model(self):
        return self.model

    def get_year(self):
        return self.year

class ElectricCar(Car):
    def __init__(self, brand, model, year, battery):
        super().__init__(brand, model, year)
        self.battery_size = battery

    def get_battery_size(self):
        return self.battery_size

class GasCar(Car):
    def __init__(self, brand, model, year, lpg):
        super().__init__(brand, model, year)
        self.lpg = lpg

    def get_lpg_size(self):
        return len(self.lpg)

class CarLogger:
    def log(self, car: Car):
        print(f"Car: {car.get_brand()} {car.get_model()} ({car.get_year()}) logged")