efinf:blcks2017:oop

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.

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.
bla.py
print("asdf")
def abc():
  print("ABC!")
 
class Humpfdidumpf():
  pass

Mögliche imports

import bla

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().

from bla import Humpfdidumpf

Nur die Klasse Humpfdidumpf ist verfügbar (ohne Prefix). z.B. h = Humpfdidumpf().

  • efinf/blcks2017/oop.txt
  • Last modified: 2018/03/22 07:49
  • by Ivo Blöchliger