Не удается создать экземпляр абстрактного элемента класса с помощью абстрактных методов getAdminCharge, getFinesPerDay. Не в состоянии

#python #python-3.x #class #oop #abstract

Вопрос:

 from abc import ABC, abstractmethod
import datetime
from typing import List

class Item(ABC):
    _loanDuration = 14    

    @classmethod
    def getLoanDuration(cls):
        return cls._loanDuration
    
    @classmethod
    def setLoanDuration(cls, newDuration):
        cls._loanDuration = newDuration

    def __init__(self, title: str, yearPublished: int, cost: float):
        self._title = title
        self._yearPublished = yearPublished
        self._cost = cost

    @property
    def title(self):
        return self._title

    @property
    def yearPublished(self):
        return self._yearPublished

    @property
    def cost(self):
        return self._cost

    @abstractmethod
    def getAdminCharge(self):
        return self.getAdminCharge
    
    @abstractmethod
    def getFinesPerDay(self):
        return self.getAdminCharge
    
    def lostCharges(self):
        return self.getAdminCharge()   self._cost

    def __str__(self):
        return f"{self._title} {self._yearPublished} Cost: ${self._cost}"
    
C1 = Item("Asia Food And Culture","2019","30")
    
print(C1)
 

Комментарии:

1. Не удалось выполнить код, попытался напечатать C1, продолжаю получать, Не могу создать экземпляр абстрактного элемента класса с помощью абстрактных методов getAdminCharge, getFinesPerDay

2. Не могли бы вы прокомментировать, почему вы используете abstractmethod и ABC здесь, если вы действительно хотите создать экземпляр Item ?