SFZ FN Sj. 13/14
description
Transcript of SFZ FN Sj. 13/14
Inf K1/2 Sj 13/14 GZG FN W.Seyboldt1
SFZ FN Sj. 13/14
Python Klassen und Objekte
Inf K1/2 Sj 13/14 GZG FN W.Seyboldt2
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.
Inf K1/2 Sj 13/14 GZG FN W.Seyboldt3
Klassen Klassen sind Baupläne von Objekten
class Bruch(object): def __init__(self, z=0, n=1):
self.z = zdef __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
Inf K1/2 Sj 13/14 GZG FN W.Seyboldt4
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
Inf K1/2 Sj 13/14 GZG FN W.Seyboldt5
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 pgpg.init() # initalisieren der Windowsobjektescreen=pg.display.set_mode((640,480))# Das Fensterobjekt erzeugen
fensterFarbe = [255,255,255] screen.fill(fensterFarbe) pg.display.flip() # Daten zur Grafikkarte
Inf K1/2 Sj 13/14 GZG FN W.Seyboldt6
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()
Inf K1/2 Sj 13/14 GZG FN W.Seyboldt7
Bilder als grafische Objekte
Einen Ball anzeigenmeinBall=pg.image.load("ball.png")screen.blit(meinBall, [50,50]) pg.display.flip()
Warten, löschen und neu zeichnenpg.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.