помогите написать код на Python. срочно надо, отдам 20 балов.
Создайте абстрактный класс Dish, который определяет общий интерфейс для всех блюд, и классы Starter, MainCourse и Dessert, которые наследуются от Dish и предоставляют конкретную реализацию для каждого типа блюд. Кроме того, можно создать абстрактный класс Order, который определяет общий интерфейс для заказов, и классы TableOrder и DeliveryOrder, которые наследуются от Order и предоставляют конкретную реализацию для заказов в ресторане и на доставку соответственно.

Ответы

Ответ дал: pk5900440
1

Ответ:

from abc import ABC, abstractmethod

class Dish(ABC):

   @abstractmethod

   def get_description(self):

       pass

   

   @abstractmethod

   def get_price(self):

       pass

class Starter(Dish):

   def __init__(self, description, price):

       self.description = description

       self.price = price

   def get_description(self):

       return self.description

   

   def get_price(self):

       return self.price

class MainCourse(Dish):

   def __init__(self, description, price):

       self.description = description

       self.price = price

   def get_description(self):

       return self.description

   

   def get_price(self):

       return self.price

class Dessert(Dish):

   def __init__(self, description, price):

       self.description = description

       self.price = price

   def get_description(self):

       return self.description

   

   def get_price(self):

       return self.price

class Order(ABC):

   @abstractmethod

   def add_dish(self, dish):

       pass

   

   @abstractmethod

   def remove_dish(self, dish):

       pass

   

   @abstractmethod

   def calculate_total(self):

       pass

class TableOrder(Order):

   def __init__(self):

       self.dishes = []

   def add_dish(self, dish):

       self.dishes.append(dish)

   

   def remove_dish(self, dish):

       self.dishes.remove(dish)

   

   def calculate_total(self):

       total = 0

       for dish in self.dishes:

           total += dish.get_price()

       return total

class DeliveryOrder(Order):

   def __init__(self):

       self.dishes = []

   def add_dish(self, dish):

       self.dishes.append(dish)

   

   def remove_dish(self, dish):

       self.dishes.remove(dish)

   

   def calculate_total(self):

       total = 0

       for dish in self.dishes:

           total += dish.get_price()

       return total

Объяснение:


polarkat: Всё хря, зря потратил время, бан аккаунту
Вас заинтересует