Мне нужно что-то вроде метода abstract protected
в Python (3.2):
class Abstract:
def use_concrete_implementation(self):
print(self._concrete_method())
def _concrete_method(self):
raise NotImplementedError()
class Concrete(Abstract):
def _concrete_method(self):
return 2 * 3
Действительно ли полезно определить "абстрактный" метод только для того, чтобы поднять NotImplementedError?
Хорошо ли использовать символ подчеркивания для абстрактных методов, который был бы protected
на других языках?
Улучшен ли какой-нибудь абстрактный базовый класс (abc)?