Övning 4 – Kombinera generics med ärvda klasser
Mål: Se hur generics kan användas med klasshierarkier.
- Skapa en superklass
Messageoch två subklasser:SMSochEmail. Varje subklass ska ha ettcontent-attribut. - Skapa en generisk klass
MessageHandler[T]som kan ta emot och hantera objekt av en viss meddelandetyp.
Använd följande kod till uppgiften:
from typing import Generic, TypeVar
T = TypeVar('T')
class Message:
def __init__(self, content):
self.content = content
class SMS(Message):
pass
class Email(Message):
pass
class MessageHandler(Generic[T]):
def __init__(self, message: T):
self.message = message
def show(self):
print(f"Innehåll: {self.message.content}")Uppgift:
- Skapa ett objekt av
MessageHandler[SMS]och ett avMessageHandler[Email]. - Testa metoden
show().