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// |