Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
| modul:m320_2024:learningunits:lu03:aufgaben:gleichheit [2024/08/13 07:34] – angelegt msuter | modul:m320_2024:learningunits:lu03:aufgaben:gleichheit [2025/08/26 13:57] (aktuell) – [Wichtig zu Wissen] kmaurizi | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| - | ====== LU03.A03 - Identität und Gleichheit ====== | + | ====== LU03.A02 - Identität und Gleichheit ====== |
| - | === Ziel === | + | |
| + | <WRAP center round todo 60%> | ||
| + | Sie können zwei Objekte vergleichen: | ||
| + | - die Gleichheit der bzw. Zugehörigkeit zur Klasse | ||
| + | - die Gleichheit der Objekt-Referenzen (eben die Identität) | ||
| + | - die Gleicheit der Inhalte von Objekten | ||
| + | </ | ||
| + | |||
| + | |||
| + | ===== Ziel ===== | ||
| Sie kennen den Unterschied zwischen Gleichheit (gleiche Klasse) und Identität (gleiche Referenz).\\ | Sie kennen den Unterschied zwischen Gleichheit (gleiche Klasse) und Identität (gleiche Referenz).\\ | ||
| Zudem können Sie den Inhalt zweier Objekte vergleichen. | Zudem können Sie den Inhalt zweier Objekte vergleichen. | ||
| - | === Auftrag === | + | ===== Auftrag ===== |
| - | + | ||
| - | - Akzeptieren Sie das Assignment im GitHub Classroom. | + | |
| - | - Klonen Sie ihr Repository in die Entwicklungsumgebung. | + | |
| - Ergänzen Sie den Code der Klasse '' | - Ergänzen Sie den Code der Klasse '' | ||
| - Führen Sie den Unit-Test aus. Er muss fehlerfrei ablaufen. Sollten Fehler auftreten, begrenzen sich diese auf die von Ihnen implementierte Methode '' | - Führen Sie den Unit-Test aus. Er muss fehlerfrei ablaufen. Sollten Fehler auftreten, begrenzen sich diese auf die von Ihnen implementierte Methode '' | ||
| - Ergänzen Sie den Code in '' | - Ergänzen Sie den Code in '' | ||
| - | - Führen Sie einen Commit und einen Push durch. | ||
| - | === Dauer === | ||
| - | 30 Minuten + Hausaufgabenzeit | ||
| - | === Abgabe | + | ===== Vorgehen ===== |
| - | Die Abgabe erfolgt auf github. | + | - Akzeptieren Sie das Assignment im GitHub Classroom. |
| + | - Klonen Sie ihr Repository in die Entwicklungsumgebung. | ||
| + | - Führen Sie einen Commit und einen Push durch. | ||
| + | |||
| + | ==== Dauer ==== | ||
| + | 30 Minuten + Hausaufgabenzeit | ||
| - | --- | ||
| - | === Wichtig zu Wissen === | + | ===== Wichtig zu Wissen |
| In dieser Aufgabe werden 3 verschiedene Arten von " | In dieser Aufgabe werden 3 verschiedene Arten von " | ||
| - die Gleichheit der bzw. Zugehörigkeit zur Klasse | - die Gleichheit der bzw. Zugehörigkeit zur Klasse | ||
| - die Gleichheit der Objekt-Referenzen (eben die Identität) | - die Gleichheit der Objekt-Referenzen (eben die Identität) | ||
| - die Gleicheit der Inhalte von Objekten | - die Gleicheit der Inhalte von Objekten | ||
| - | Die ersten beiden Fälle sind durch Keywords eindeutig erkennbar und in allen Fällen durch den Interpreter zu verstehen. Die Klassenzugehörigkeit wird durch '' | + | |
| - | Bei der inhaltlichen Gleichheit wird das ganze etwas komplexer. Bei einfachen Datentypen (int, float, char, boolean) kann der Interpreter die Anweisung\\ | + | Die ersten beiden Fälle sind durch Keywords eindeutig erkennbar und in allen Fällen durch den Interpreter zu verstehen. |
| + | Die Klassenzugehörigkeit wird durch '' | ||
| + | |||
| + | Bei der inhaltlichen Gleichheit wird das ganze etwas komplexer. | ||
| + | Bei einfachen Datentypen (int, float, char, boolean) kann der Interpreter die Anweisung | ||
| <code Python> | <code Python> | ||
| value = 7 | value = 7 | ||
| Zeile 34: | Zeile 46: | ||
| ... | ... | ||
| </ | </ | ||
| - | umsetzen, da klar ist, um welchen Datentyp es sich handelt. Das gilt auch für einzelne Zeichen... | + | umsetzen, da klar ist, um welchen Datentyp es sich handelt. |
| + | |||
| + | Das gilt auch für einzelne Zeichen... | ||
| <code Python> | <code Python> | ||
| if sign == ' | if sign == ' | ||
| Zeile 68: | Zeile 82: | ||
| # zuerst prüfen, ob das Objekt überhaupt " | # zuerst prüfen, ob das Objekt überhaupt " | ||
| if isinstance(other_object, | if isinstance(other_object, | ||
| - | return self.first_name == other_object.first_name and self.last_name == other_object.first_name | + | return self.first_name == other_object.first_name and self.last_name == other_object.last_name |
| # danach prüfen, ob das evtl. ein konstanter Wert vorliegt, der zu prüfen ist. | # danach prüfen, ob das evtl. ein konstanter Wert vorliegt, der zu prüfen ist. | ||
| elif isinstance(other_object, | elif isinstance(other_object, | ||
| Zeile 92: | Zeile 106: | ||
| < | < | ||
| < | < | ||
| - | GitHub Repository https:// | + | GitHub Repository https:// |
| //Lernende am BZZ müssen den Link zum GitHub Classroom Assignment verwenden// | //Lernende am BZZ müssen den Link zum GitHub Classroom Assignment verwenden// | ||