Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen Revision Vorhergehende Überarbeitung | |||
| de:modul:m320_2024:learningunits:lu01:objekt_grundlagen [2026/08/30 14:05] – gelöscht - Externe Bearbeitung (Unbekanntes Datum) 127.0.0.1 | de:modul:m320_2024:learningunits:lu01:objekt_grundlagen [2026/08/30 14:05] (aktuell) – ↷ Seite von modul:m320_2024:learningunits:lu01:objekt_grundlagen nach de:modul:m320_2024:learningunits:lu01:objekt_grundlagen verschoben msuter | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| + | ===== LU01a - Was ist ein Objekt? ===== | ||
| + | Zuerst müssen wir unterscheiden, | ||
| + | Umgangssprachlich verstehen wir unter einem Objekt einen Gegenstand, also ein Haus, ein Auto, einen Pinsel, eine Türe usw. | ||
| + | Diese Objekte können durch **Eigenschaften** beschrieben werden. | ||
| + | So weist ein Auto z.B. eine Marke, einen Typ, eine Farbe usw. auf. | ||
| + | Objekte können | ||
| + | * sehr unterschiedlicher Art sein (z.B. Baum und Flugzeug). | ||
| + | * von der gleichen Art aber einer unterschiedlichen Ausprägung sein (z.B. rotes und ein grünes Fahrrad). | ||
| + | * in einer Hierarchie zueinander stehen (z.B. Fahrzeug als Oberbegriff von Auto), wobei gewisse Objekte real nicht existieren sondern nur der Verallgemeinerung eines Begriffes dienen. | ||
| + | |||
| + | | {{.: | ||
| + | | //Abb. verschiedene Objekte// | //Abb. Objekte gleicher Art// | //Abb. Objekte eines abstrakten Oberbegriffes (hier Säugetier)// | ||
| + | |||
| + | |||
| + | In der OOP gehen wir nun aber einen Schritt weiter. | ||
| + | " | ||
| + | |||
| + | Ein Buch kann also z.B. | ||
| + | * seinen Titel, die Autorin, den Verlag usw. nennen | ||
| + | * sich öffnen und eine bestimmte Seite anzeigen | ||
| + | * den enthaltenen Text liefern | ||
| + | * usw. | ||
| + | |||
| + | Diese Denkweise ist fürs Erste sicher gewöhnungsbedürftig. | ||
| + | Um Objekte in Software abzubilden, ist es aber unumgänglich, | ||
| + | |||
| + | Siehe auch [[wpde> | ||
| + | |||
| + | ==== Beispiel: Türe ==== | ||
| + | Eine Türe verfügt über Eigenschaften wie Höhe, Breite, Farbe, Material. | ||
| + | Daneben kennt sie auch Zustände wie offen, geschlossen, | ||
| + | Um die verschiedenen Zustände zu erreichen, muss die Türe also über Fähigkeiten verfügen, so z.B. öffnen und schliessen. | ||
| + | Für das ver- und entriegeln ist aber nicht die Türe sondern das Schloss zuständig. | ||
| + | Diese Aufgaben werden also delegiert. | ||
| + | Die **Delegation** ist eines der ganz wichtigen Prinzipien der OOP. | ||
| + | |||
| + | <WRAP center round info 60%> | ||
| + | Das Prinzip der Delegation wird in einer späteren Learning Unit vertieft behandelt. | ||
| + | </ | ||
| + | |||
| + | |||
| + | Der oben beschriebene Sachverhalt lässt sich bezüglich der Zustände der Türe grafisch als Zustandsdiagramm darstellen. | ||
| + | Es zeigt die **Zustände** sowie die nötigen **Effekte** (Fähigkeiten, | ||
| + | |||
| + | {{.: | ||
| + | |||
| + | //Abb. Zustandsdiagramm zu Türe// | ||
| + | |||
| + | [[wpde> | ||
| + | |||
| + | ---- | ||
| + | {{tag> | ||
| + | [[https:// | ||