Upload
lenz-gerecke
View
104
Download
0
Embed Size (px)
Citation preview
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 Objektenclass 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 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
Inf K1/2 Sj 13/14 GZG FN W.Seyboldt6
Grafische Objekte zeichnen
Warten, bis das Fenster geschlossen wirdwhile 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.