Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
| de:modul:m320_2024:learningunits:lu10:vererbung [2026/08/30 14:05] – gelöscht - Externe Bearbeitung (Unbekanntes Datum) 127.0.0.1 | de:modul:m320_2024:learningunits:lu10:vererbung [2026/08/30 14:12] (aktuell) – ↷ Links angepasst, weil Seiten im Wiki verschoben wurden 74.7.243.195 | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| + | ====== LU10c - Vererbung in UML und Python ====== | ||
| + | | {{de: | ||
| + | class Transport: | ||
| + | def __init__(self): | ||
| + | self._power = 0.0 | ||
| + | self.distance = 0.0 | ||
| + | def accelerate(self): | ||
| + | pass | ||
| + | def slowdown(self): | ||
| + | pass | ||
| + | | ||
| + | | ||
| + | class Aeroplane(Transport): | ||
| + | def __init__(self): | ||
| + | # call constructor of the parent class | ||
| + | super().__init__() | ||
| + | self._climb_performance = 0.0 | ||
| + | def take_off(self): | ||
| + | pass | ||
| + | def landing(self): | ||
| + | pass | ||
| + | </ | ||
| + | |||
| + | //Abb: Vererbung in UML-Darstellung// | ||
| + | |||
| + | |||
| + | ===== Sichtbarkeit der Attribute ===== | ||
| + | In früheren Learning Units haben Sie die Sichtbarkeit **+** '' | ||
| + | Bei der Vererbung kommt nun noch die Sichtbarkeit '' | ||
| + | Attribute in der Oberklasse, welche auch in der Unterklasse direkt zugeifbar sein müssen, werden als **protected** (geschützt) deklariert. | ||
| + | In UML wird dies mit dem Zeichen **#** signalisiert. | ||
| + | |||
| + | ^ Sichtbarkeit ^ Symbol ^ Wer darf zugreifen? ^ | ||
| + | | public | + | Jede andere Klasse/ | ||
| + | | protected | # | Nur innerhalb der Klasse und deren Kinder | | ||
| + | | private | - | Nur innerhalb der Klasse, keine Kinder | | ||
| + | |||
| + | <WRAP center round tip 60%> | ||
| + | Im Gegensatz zu anderen Programmiersprachen erzwingt Python keine Sichtbarkeit von Attributen. | ||
| + | Die Angaben '' | ||
| + | </ | ||
| + | |||
| + | ---- | ||
| + | {{tag> | ||
| + | [[https:// | ||