Задача Задача №2452742
А
А
Конечно! Давайте создадим два класса: Food и IceCream, как вы описали.
Вот пример кода:
class Food:
def __init__(self, pate):
self._name = pate # Приватный атрибут
@property
def name(self):
return self._name # Геттер для атрибута _name
def info(self):
print(f"Еда: {self.name}") # Метод, выводящий сообщение с названием еды
class IceCream(Food):
def __init__(self, name, stick):
super().__init__(name) # Вызов конструктора суперкласса
self.stick = stick # Атрибут stick
def info(self):
super().info() # Вызов метода info суперкласса
if self.stick:
print("Оно на палочке") # Если на палочке
else:
print("В стаканчике") # Если в стаканчике
# Создаем объект класса IceCream и заполняем его данными
ice_cream = IceCream("Шоколадное мороженое", True)
# Вызываем метод info
ice_cream.info()
Пояснения к коду:
Класс Food:
- В этом классе мы создаем конструктор, который принимает параметр
pate. - Мы определяем приватный атрибут
_nameи создаем метод-геттерname, который возвращает значение этого атрибута. - Метод
info()выводит сообщение с названием еды.
- В этом классе мы создаем конструктор, который принимает параметр
Класс IceCream:
- Этот класс наследуется от
Food. Он принимает в конструкторе два параметра:nameиstick. - Мы вызываем конструктор суперкласса с помощью
super().__init__(name)и создаем свой атрибутstick. - Переопределяем метод
info(), чтобы он сначала вызывал метод суперкласса, а затем добавлял проверку, чтобы вывести информацию о том, на палочке мороженое или в стаканчике.
- Этот класс наследуется от
Создание объекта:
- Мы создаем объект
ice_cream, передавая необходимую информацию о названии мороженого и его форме (на палочке или в стаканчике). - Вызываем метод
info(), чтобы увидеть, как работает наш код.
- Мы создаем объект
Если у вас есть вопросы по коду или вы хотите добавить другие функции, смело спрашивайте!