Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
| modul:m320_2024:learningunits:lu10:vererbung [2024/09/23 14:19] – msuter | modul:m320_2024:learningunits:lu10:vererbung [2024/10/22 08:35] (aktuell) – msuter | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| ====== LU10c - Vererbung in UML und Python ====== | ====== LU10c - Vererbung in UML und Python ====== | ||
| - | {{:modul:m320: | + | |
| + | | {{:modul:m320_2024: | ||
| + | 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// | //Abb: Vererbung in UML-Darstellung// | ||
| - | ==== protected | + | ===== 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. | 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. | 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> | {{tag> | ||
| [[https:// | [[https:// | ||