From fa5bcfe0665c4c022f7fa4f26c8dc1f012168e13 Mon Sep 17 00:00:00 2001 From: "Muhamed (aider)" <Muhamedalici@hotmail.de> Date: Sat, 24 May 2025 19:03:32 +0200 Subject: [PATCH] ```python fix: Mars-Klasse zu Singleton umgestaltet ``` --- mars.py | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/mars.py b/mars.py index 761a968..297dca1 100644 --- a/mars.py +++ b/mars.py @@ -2,17 +2,35 @@ from plateau import Plateau class Mars: """ - Eine Klasse zur Repräsentation des Mars. + Eine Singleton-Klasse zur Repräsentation des Mars. + Es kann nur eine Instanz dieser Klasse existieren. """ + _instance = None - def __init__(self, plateau: Plateau): + def __new__(cls, plateau: Plateau = None): """ - Initialisiert den Mars mit einem Plateau. + Erstellt eine neue Mars-Instanz oder gibt die existierende zurück. + + Args: + plateau: Das Plateau, das den Mars repräsentiert (nur beim ersten Aufruf verwendet) + + Returns: + Die einzige Instanz der Mars-Klasse + """ + if cls._instance is None: + cls._instance = super(Mars, cls).__new__(cls) + cls._instance.plateau = plateau + return cls._instance + + def __init__(self, plateau: Plateau = None): + """ + Initialisiert den Mars (wird nur beim ersten Mal ausgeführt). Args: plateau: Das Plateau, das den Mars repräsentiert """ - self.plateau = plateau + if not hasattr(self, 'plateau'): + self.plateau = plateau def drive(self, cmd: str) -> str: """ -- GitLab