Использование PyCharm IDE. Я хочу наследовать 2 абстрактных класса A + B в 1 новый класс C. Я хочу реализовать один из методов класса и использовать методы другого класса, который реализован в реализации более позднего класса E usind A в D.Использование абстрактного метода после наследования
Моя проблема: при создании класса C intelliJ хочет, чтобы я реализовал все методы, поэтому методы класса А и методы класса В. Я просто хочу реализовать методы класса А, но мне нужен интерфейс класса В, чтобы узнать, какие методы доступны мне. Есть ли способ сказать intelliJ, что я не хочу реализовывать определенные классы abstractmethods в новом классе?
Или даже - Есть ли способ сделать все это в лучшую сторону?
class A(metaclass=ABCMeta):
"""interface class"""
@abstractmethod
def click(self, c): pass
class B(metaclass=ABCMeta):
"""interface class"""
@abstractmethod
def do_something(self): pass
class C(A, B):
# implement methods of B here, use abstract methods of A
# as interface to know what methods are available for use
def do_something(self):
self.click("anything")
class D(A):
# implement A
def click(self, c):
print("I clicked {}".format(c))
class E(C,D):
# merge implementations to create runnable `do_something()`
def main():
self.do_something()
E.main()
Вы могли бы просто подавить осмотр: '# noinspection PyAbstractClass' – deceze