Python ООП передача экземпляра класса
class Ingredient(object):
def __init__(self, name, weight, cost):
self.name = name
self.weight = weight
self.cost = cost
class Pizza(object):
def __init__(self, name):
self.name = name
cream = Ingredient('Сыр', 50, 250)
Как передать экземпляр класса Ingredient(сream) в класс Pizza и работать там с ним ?
Ответы (1 шт):
Автор решения: Alexander Chernin
→ Ссылка
Также как и любой другой параметр, можно передать и объект пользовательского типа/класса. Например, так:
class Pizza(object):
def __init__(self, name):
self.name = name
# Массив для ингредиетов
self._ingredients = []
# Метод для добавления ингредиентов
def append(self, ingredient):
self._ingredients.append(ingredient)
Далее, где-то в другом месте мы можем создать и добавить ингредиет в Пиццу:
# Создаем пиццу
pizza = Pizza('Peperonni')
# Создаем ингредиент
peperone = Ingredient('peperone', 10, 1) # ...Цена указана в рублях :)
# Добавлеям игредиент к пицце
pizza.append(peperone)