from abc import ABC, abstractmethod class Fahrgast: def __init__(self, k_name, email): self.k_name = k_name self.email = email class Mitfahrer: def __init__(self, mitf_name, mitf_vorname, mitf_sitz_reservier): self.mitf_name = mitf_name self.mitf_vorname = mitf_vorname self.mitf_sitz_reservier = mitf_sitz_reservier class Fahrschein(ABC): def __init__(self, fg: Fahrgast, start_dat, end_dat, kinderanz, von_ort, bis_ort, rueckfahrt, sitz_reserv): self.fg = fg self.start_dat = start_dat self.end_dat = end_dat self.kinderanz = kinderanz self.von_ort = von_ort self.bis_ort = bis_ort self.rueckfahrt = rueckfahrt self.sitz_reserv = sitz_reserv @abstractmethod def berechne_fahrpreis(self): pass class Einzelfahrschein(Fahrschein): def berechne_fahrpreis(self): return 100