Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
modul:m320_2024:learningunits:lu10:vererbung [2024/10/22 08:30] msutermodul:m320_2024:learningunits:lu10:vererbung [2024/10/22 08:35] (aktuell) msuter
Zeile 26: Zeile 26:
  
  
-==== protected Attribute ====+===== Sichtbarkeit der Attribute ====
 +In früheren Learning Units haben Sie die Sichtbarkeit **+** ''public'' und **-** ''private'' kennen gelernt. 
 +Bei der Vererbung kommt nun noch die Sichtbarkeit ''protected'' hinzu.
 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/Funktion |
 +| 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 ''protected'' und ''private'' sind mehr als Hinweise für andere Programmierer zu verstehen.
 +</WRAP>
  
 ---- ----
 {{tag>M320-LU10}} {{tag>M320-LU10}}
 [[https://creativecommons.org/licenses/by-nc-sa/4.0/|{{https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png}}]] René Probst, bearbeitet durch Marcel Suter [[https://creativecommons.org/licenses/by-nc-sa/4.0/|{{https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png}}]] René Probst, bearbeitet durch Marcel Suter
  • modul/m320_2024/learningunits/lu10/vererbung.1729578632.txt.gz
  • Zuletzt geändert: 2024/10/22 08:30
  • von msuter