Code: Select all
from enum import Enum
class AbstractClass:
def run(self)
print('the values are:')
for enum in ClassEnum:
print(enum.value)
self.speak()
def speak(self):
raise NotImplementedError
class ConcreteClassFirst(AbstractClass):
class ClassEnum(Enum):
RED = 0
GREEN = 1
BLUE = 2
def speak(self)
print('the colors are:')
for enum in ClassEnum:
print(enum.name)
class ConcreteClassSecond(AbstractClass):
class ClassEnum(Enum):
LION = 'scary'
ELEPHANT = 'big'
GIRAFFE = 'tall'
def speak(self)
print('the animals are:')
for enum in ClassEnum:
print(enum.name)
Code: Select all
class AbstractClass:
class ClassEnum(Enum):
pass
def run(self):
...
Code: Select all
class AbstractClass:
class ClassEnum(Enum):
raise NotImplementedError
def run(self):
...
@property
def ClassEnum(self):
raise NotImplementedError
def run(self):
...
< /code>
Aber hier ist nicht klar, dass im Unterklassen CascasSenum tatsächlich eine Klasse sein sollte. Perhpas Dieser Ansatz mit einer gewissen Dokumentation könnte angemessen sein.