методы для последующего переопределения наследниками, но я хочу сделать ещё один класс, который по сути будет как контейнер предыдущих двух + расширять своими методами. это pycharm не ожидает такого или что, ибо он не говорит, что нереализованы методы основных двух классов?
шта
и в чём проблема теперь?
как бы класс DataProcessor тоже абстрактный и я хочу туда добавить свои методы, но чтобы не было тех же visualise() например, но мне пайчарм ничего про это не пишет, боюсь, что так не замечу когда-то метод и будут проблемы. мб я неправильно как-то всё написал
ты не можешь наследоваться от класса, и не иметь его атрибутов
вот, если изначальный базовый класс беру, то пишет, что не реализовал методы, а если DataProcessor то нет
а ты уверен, что у тебя DataProcessor - абстрактный класс?
да class DataProcessor(ABC, DataVisualiser, DataWorker): """ Base class for data processors. """
классный докстринг, конечно. Но по вопросу хз
та он автоматом сгенереный
если поставить ABC в конец, то работает так, как я ожидал
from abc import ABC, abstractmethod class A(ABC): @abstractmethod def a(self): return NotImplemented class B(ABC): @abstractmethod def b(self): return NotImplemented class D(A, B): pass class C(D): pass вот это мне тоже пишет, что мне нужно реализовать все абстрактные методы
PyCharm не может определить является ли этот класс частично или полностью реализующим абстрактные методы
хм, по сравнению с вскодом - хоть что-то
начиная с 2021.*
Обсуждают сегодня