Читать книгу Programmieren mit LEGO® MIND-STORMS® 51515 und SPIKE® Prime - Alexander Schulze - Страница 22
Beispiel
ОглавлениеEin sehr beliebtes Beispiel ist dabei ein Auto. Ein Auto besteht aus verschiedenen Teilen, die Eigenschaften haben und durch Aktivitäten das Gesamtsystem beeinflussen. Das Auto hat dabei einen Motor und mehrere Räder. Ein Rad kann sich drehen und wird durch die Aktivität des Motors beeinflusst. Die Türen haben die Möglichkeit, sich zu öffnen, und haben als sichtbare Eigenschaften eine Farbe. Diese wenigen Beispiele sollen verdeutlichen, dass sich im Grunde alle Systeme als Verbindungen von Objekten darstellen lassen, die sich gegenseitig beeinflussen beziehungsweise sich gegenseitig bedingen.
Die Objektorientierung erfordert somit auch eine andere Art der Herangehensweise an die Erstellung eines Programms im Vergleich zu einer prozeduralen Programmiersprache.
In Python ist auch ein prozeduraler Programmierstil möglich. Bei der Umsetzung mit Python wird in diesem Buch sogar öfter explizit dieser Stil angewendet, um die Vergleichbarkeit der Lösungen in den beiden Programmiersprachen besser zu verdeutlichen. Erst in den letzten Kapiteln wird stärker auf die Objektorientierung eingegangen, dabei werden die vorgestellten Lösungen mit entsprechenden Diagrammen erläutert.
In der Objektorientierung sind einige wichtige Kernbegriffe vorhanden, die die Grundlagen bestimmen.
KlasseEine Klasse stellt die allgemeine Definition eines Objekts dar und beinhaltet die Eigenschaftsbeschreibungen und Aktivitäten in verallgemeinerter Form, ohne dass diesen konkrete Werte zugewiesen sein müssen. Diese sind als Programmcode vorhanden. Eine Klasse kann nicht direkt ausgeführt werden.Ein Auto stellt dabei eine Beschreibung und Definition dar und kann sowohl Eigenschaften (zum Beispiel Farbe) als auch Aktivitäten (zum Beispiel Starten des Motors) haben. Eine Klasse sollte in Python mit einem Großbuchstaben (»UpperCaseCamelCase«) beginnen.
ObjektEin Objekt ist eine konkrete Instanz einer Klasse und repräsentiert eine konkrete Ausprägung. Ein Objekt wird während der Ausführung des Programms benötigt. Dabei erhalten Eigenschaften konkrete Werte.Im Fall des Autos stellt dies ein fertig produziertes, fahrbereites, konkretes Fahrzeug in der Farbe Rot dar.
KapselungEin Grundkonzept der Objektorientierung ist die Kapselung von Daten und Eigenschaften. Ein Objekt kapselt dabei den vollständigen Zugriff auf dessen Inhalt und erlaubt nur auf die Inhalte Zugriff, die von außen erreichbar sein sollen.
MethodeEine Methode ist ein von außen erreichbarer Kommunikationspunkt, der entweder Zugriff auf Daten oder die Ausführung von Programmlogik auf Basis eines konkreten Objekts (= Instanz einer Klasse) erlaubt. Damit wird eine Aktivität oder Funktion auf Basis eines Objekts gerufen.Der Name einer Methode sollte in Python nur aus Kleinbuchstaben bestehen. Mehrere Wörter in einer Methode sollten dann per Unterstrich getrennt werden.
VererbungDie Objektorientierung definiert eine Vererbungshierarchie. Dabei können konkretere Klassen existieren, die eine definierte Klasse genauer beschreibt. Ein Auto ist beispielsweise ein Pkw. Dies bedeutet, dass eine Klasse Pkw die Oberklasse eines Autos darstellt. Ein Pkw kann bereits Eigenschaften haben (zum Beispiel eine Geschwindigkeit), kennt aber noch keine Definition bezüglich der Reifen, die erst durch das Auto dazukommen.
Pakete und ModulePakete und Module werden in Python verwendet, um Klassen in einer Struktur abzulegen.