70 likes | 197 Views
SFZ FN Sj. 13/14. Python Klassen und Objekte. Objekte. Objekte sind ein Mittel und Methoden und Variablen zusammen zu fassen, die zusammen gehören. Die OOP, objektorientierte Programmierung versucht die Objekte der Wirklichkeit möglichst ähnlich als Software zu modellieren.
E N D
SFZ FN Sj. 13/14 Python Klassen und Objekte GZG FN W.Seyboldt
Objekte • Objekte sind ein Mittel und Methoden und Variablen zusammen zu fassen, die zusammen gehören. • Die OOP, objektorientierte Programmierung versucht die Objekte der Wirklichkeit möglichst ähnlich als Software zu modellieren. • Objekte haben Eigenschaften (modelliert durch Variablen) und Fähigkeiten (modelliert durch Methoden. GZG FN W.Seyboldt
Klassen • Klassen sind Baupläne von Objekten class Bruch(object): def __init__(self, z=0, n=1): self.z = z def __str__(self): return text • Objekte werden zur Laufzeit eines Programms erzeugt. b1=Bruch(4,8) b2=Bruch(3.1,4.95) • Aufruf von Methoden von Objekten b1.div(b2) • Deklaration von Methoden von Klassen def div(self,b2): self.kuerze() return GZG FN W.Seyboldt
Wichtige Methoden von Objekten • Die Methode, die bei der Erzeugung eines Objektes aufgerufen wird def __init__(self, z=0, n=1): self.z = z self.kuerze() return • Die Methode, die z.B. bei print objekt aufgerufen wird. def __str__(self): text="Bruch (%i/%i = " %(self.z, self.n) return text GZG FN W.Seyboldt
Grafik • Wenn man am Bildschirm ein Fenster erzeugen möchte, geschieht dies immer mit einer Klasse • Wir benutzen die Library pygame • Fenster-Objekt erstellen import pygame as pg pg.init() # initalisieren der Windowsobjekte screen=pg.display.set_mode((640,480))# Das Fensterobjekt erzeugen fensterFarbe = [255,255,255] screen.fill(fensterFarbe) pg.display.flip() # Daten zur Grafikkarte GZG FN W.Seyboldt
Grafische Objekte zeichnen • Warten, bis das Fenster geschlossen wird while True: for event in pg.event.get(): if event.type==pg.QUIT: sys.exit() # Regelmäßige Arbeiten • Grafische Objekte zeichnen pg.draw.circle(screen, [255,0,0], [xmi,ymi],r, dicke) pg.draw.rect(screen, fa, [li,ob,br,ho],linienbreite) pg.draw.lines(screen, farbe, False, plotPunkte, 2) pg.display.flip() • Und nicht vergessen – das Fenster immer wieder zur Grafikkarte schicken: pg.display.flip() GZG FN W.Seyboldt
Bilder als grafische Objekte • Einen Ball anzeigen meinBall=pg.image.load("ball.png") screen.blit(meinBall, [50,50]) pg.display.flip() • Warten, löschen und neu zeichnen pg.time.delay(2000) pg.draw.rect(screen,feFa,[50,50,bagr, bagr],0) screen.blit(meinBall, [150,100]) pg.display.flip() • Wenn der Ball bewegt werden soll, bis das Fenster geschlossen wird, müssen die letzten Zeilen in der While-Schleife am Ende stehen. GZG FN W.Seyboldt