Schreibe einen Kommentar

Vererbung oder “Sieht genau aus wie der Vater”

Wie bei anderen Programmiersprachen können auch in Python Klassen genutzt werden, um reale Objekte innerhalb der Sprache zu beschreiben und zu definieren.  Dabei gibt es zwei Arten von Klassen – die unabhängigen und die erbenden Klassen. Doch was unterscheidet die beiden? Und welche Vor- und Nachteile bieten sie jeweils? Im folgenden Textauszug aus “Python von Kopf bis Fuß” diskutieren die unabhängige und die erbende Klasse, was gerade sie jeweils so besonders macht.

Unabhängige Klasse: Programmierer lieben mich, weil sie mit mir alles in ihrem Code kontrollieren können … du weißt ja, wie Programmierer sind: Sie lieben, es Code zu schreiben.

Erbende Klasse: Ja, das tun sie. Aber manchmal ist es nicht die beste Entwurfsentscheidung, alles von null an aufzubauen.

Unabhängige Klasse: Entwurf! Schmuh! Wahre Programmierer essen, schlafen, träumen, schnarchen und atmen Code. Das ganze Entwurfsgelaber ist doch nur was für Leute, die nicht programmieren können!

Erbende Klasse: Tatsächlich? Du willst also wirklich behaupten, dass es besser ist, alles von Grund auf aufzubauen und die Arbeit von anderen zu wiederholen, weil die eigene Arbeit immer die beste ist? Meinst du das ernst?!?

Unabhängige Klasse: Nein und nochmals nein. Du hörst mir nicht zu. Es ist alles eine Frage der Macht. Wenn du alles vom Fundament aus aufziehst, sitzt du immer am Drücker, da alles dein Code ist.

Erbende Klasse: Und du hast kein Problem damit, erneut eine Arbeit zu erledigen, die jemand anderes dir schon vor Zeiten abgenommen hat?

Unabhängige Klasse: Überhaupt nicht, insbesondere wenn ganz spezifische Anforderungen berücksichtigt werden müssen. Dann ist eine nagelneue, unabhängige und spezielle Klasse der einzige richtige Weg.

Erbende Klasse: Nicht wenn man eine andere Klasse erweitern kann, um diese spezielle Anforderung zu erfüllen. So erhält man das Beste beider Welten: geerbte Funktionalität (damit man das Rad nicht neu erfinden muss) und die ganzen speziellen Dinge. Das ist eine Win-win-Situation.

Unabhängige Klasse: Klar doch, Win-win für dich, nicht für mich.

Erbende Klasse: Aber es geht doch nicht um uns: Es geht darum, den Programmierern das Leben zu vereinfachen, selbst denen, die gerne Code schreiben.

Unabhängige Klasse: Vielleicht, obwohl ich immer noch Fan von eigenständigem Code bin…

Mehr zum Thema gibt es im Buch “Python von Kopf bis Fuß” von Paul Barry. Nach einer Einführung in die Grundlagen von Python lernen Programmierer mehr über Themen wie Fehlerbewältigung, Datenverarbeitung oder das Schreiben von mobile Apps für Android-Smartphones.

Sag's weiter:

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.