==== Aufgabe 3 - Erweitern von Fähigkeiten ==== === Ziel === * Sie können aufzeigen, wie Vererbung für die Erweiterung von Fähigkeiten eingesetzt wird. === Auftrag === Implementieren Sie die Klassen gemäss Klassendiagramm.\\ Die Methode ''what_i_am()'' liefert einen Text zum Wesen des Objekts (a simply phone, an old handy, a modern smartphone). Die Gerätefunktionen (''calling'', ''handle_sms'', ''use_internet'') schreiben in den Stdout, was sie tun (anrufen, sms senden und empfangen, das Internet benutzen)\\ Verwenden Sie diese Begriff genau so, damit die Tests korrekt ablaufen.\\ **Hinweise:** \\ * Schreiben Sie die Klassen jeweils in eine eigene Datei (''phone.py'', ''handy.py'', ''smartphone.py'') * Sie können die Klassen mit den Testroutinen in den ''test_···.py'' Dateien testen. \\ \\ {{modul:m320:learningunits:lu06:aufgaben:lu07-aufg3a_erweitern-10.png?200|}}\\ \\ Führen Sie nun ''main.py'' aus und püfen Sie den Output. Er muss dem unten gezeigten sinngemäss entsprechen. from phone import Phone from handy import Handy from smartphone import SmartPhone if __name__ == "__main__": phone = Phone() print(f'ich bin: {phone.what_i_am()} und kann') phone.calling() print('------------------') # handy = Handy() print(f'ich bin: {handy.what_i_am()} und kann') handy.calling() handy.handle_sms() print('------------------') # smart_phone = SmartPhone() print(f'ich bin: {smart_phone.what_i_am()} und kann') smart_phone.calling() smart_phone.handle_sms() smart_phone.use_internet() print('------------------') === Abgabe === Wenn Ihr Programm sinngemäss folgende Output generiert, haben Sie die Aufgabe korrekt gelöst. ich bin: a simply phone und kann anrufen ------------------ ich bin: an old handy und kann anrufen sms senden und empfangen ------------------ ich bin: a modern smartphone und kann anrufen sms senden und empfangen das Internet benutzen ------------------ ---- [[https://creativecommons.org/licenses/by-nc-sa/4.0/|{{https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png}}]] (c) René Probst