Show pageOld revisionsBacklinksBack to top This page is read only. You can view the source, but not change it. Ask your administrator if you think this is wrong. ====== OOP ====== * Encapsulation: Daten und Code als Einheit. * Konstruktor * Objekte: Klasse und Instanzen, ''self'' * Instanzvariablen und -methoden * Beispiele * Dogs * Tetris-Table Code (tetriy.py) * Ausblick * Polymorphismus * Policedog * Klassenmethoden und -variablen. ===== Aufgabe ===== Programmieren Sie eine Klasse, um einen Punkt über den Tetris-Tisch zu steuern: * Ein Konstruktor, der eine helper-Instanz erwartet, und die Position festlegt. * Zwei Instanz-Variablen x,y für die Position * Eine Methode move, die * Den Joystick und Buttons ausliest, und je nachdem die Position verschiebt und in einer Farbe zeichnet oder löscht. Dazu sind eventuell weitere Instanz-Variablen nötig, um den Zustand der Knöpfe, bzw. Zeitpunkt der letzten Aktion zu speichern. * Optional: eine Methode save, die die das akutelle Bild in eine Datei schreibt. ===== import ===== <code python bla.py> print("asdf") def abc(): print("ABC!") class Humpfdidumpf(): pass </code> Mögliche imports <code python> import bla </code> Der Code wird ausgeführt (schreibt also asfd) und alle definierten Klassen und Funktionen sind danach verfügbar, mit dem Prefix bla., z.B. bla.abc(). <code python> from bla import Humpfdidumpf </code> Nur die Klasse Humpfdidumpf ist verfügbar (ohne Prefix). z.B. h = Humpfdidumpf(). efinf/blcks2017/oop.txt Last modified: 2018/03/22 07:49by Ivo Blöchliger