Рубрики
Без рубрики

День 13: Абстрактные классы

Задача была продолжением классов только что имела дело с абстрактными классами. Абстрактный … Помечено с Python, начинающим.

Задача была продолжением классов только что имела дело с абстрактными классами. Абстрактные классы Это классы, которые имеют функции, которые не имеют в ним тело в простых терминах, функции объявляются в этом классе, но его функциональность не определена там и для выполнения функции, полученный класс должен определить его функциональность.

Python использует Abcmeta Класс для определения абстрактных базовых классов и имеет декоратор, @abstractmethod указать, когда есть абстрактный метод.

Задача: Учитывая Книга Класс и класс решения, напишите MyBook класс, который делает следующее: • Наследует от Книга • имеет параметризованный конструктор, принимающий эти параметры:

  1. Строка заглавие
  2. Строка автор
  3. int Цена • реализует Книга * Класс ‘Абстрактный ** Дисплей () * Метод, поэтому он печатает эти линии:
  4. Название:, пространство, а затем текущий экземпляр Название Отказ
  5. Автор:, пространство, а затем текущий экземпляр Автор Отказ
  6. Цена:, пространство, а затем текущий экземпляр Цена Отказ
from abc import ABCMeta, abstractmethod
class Book(object, metaclass=ABCMeta):
    def __init__(self,title,author):
        self.title=title
        self.author=author   
    @abstractmethod
    def display(): pass


class MyBook(Book):
    def __init__(self, title, author, price):
        self.title = title
        self.author = author
        self.price = price

    def display(self):
        print(f'Title: {self.title}')
        print(f'Author: {self.author}')
        print(f'Price: {self.price}')


title=input()
author=input()
price=int(input())
new_novel=MyBook(title,author,price)
new_novel.display()

'''
Sample Input:
The Alchemist
Paulo Coelho
248

Sample Output:
Title: The Alchemist
Author: Paulo Coelho
Price: 248
'''

Оригинал: “https://dev.to/idimaimuna/day-13-abstract-classes-110j”