7
Inf K1/2 Sj 13/14 GZG FN W.Seyboldt 1 SFZ FN Sj. 13/14 Python Klassen und Objekte

Inf K1/2 Sj 13/14 GZG FN W.Seyboldt 1 SFZ FN Sj. 13/14 Python Klassen und Objekte

Embed Size (px)

Citation preview

Page 1: Inf K1/2 Sj 13/14 GZG FN W.Seyboldt 1 SFZ FN Sj. 13/14 Python Klassen und Objekte

Inf K1/2 Sj 13/14 GZG FN W.Seyboldt1

SFZ FN Sj. 13/14

Python Klassen und Objekte

Page 2: Inf K1/2 Sj 13/14 GZG FN W.Seyboldt 1 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.

Page 3: Inf K1/2 Sj 13/14 GZG FN W.Seyboldt 1 SFZ FN Sj. 13/14 Python Klassen und Objekte

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

Page 4: Inf K1/2 Sj 13/14 GZG FN W.Seyboldt 1 SFZ FN Sj. 13/14 Python Klassen und Objekte

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

Page 5: Inf K1/2 Sj 13/14 GZG FN W.Seyboldt 1 SFZ FN Sj. 13/14 Python Klassen und Objekte

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

Page 6: Inf K1/2 Sj 13/14 GZG FN W.Seyboldt 1 SFZ FN Sj. 13/14 Python Klassen und Objekte

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

Page 7: Inf K1/2 Sj 13/14 GZG FN W.Seyboldt 1 SFZ FN Sj. 13/14 Python Klassen und Objekte

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.