Commit a108b8c4 authored by Axel Dürkop's avatar Axel Dürkop
Browse files

Update script part

parent 07f4b210
Pipeline #93815 passed with stages
in 40 seconds
......@@ -23,7 +23,7 @@ LastModifierDisplayName = "Artur Erbes"
LastModifierEmail = "artur.erbes@tuhh.de"
+++
Nun wollen wir einige Reihen von Smileys erstellen. Um uns die Arbeit zu ersparen jede einzelne Instanz einer Variablen zuzuweisen, verwenden wir eine Liste. Zunaechst erstellen wir die Liste `Smileys` und befüllen diese mit Hilfe einer for-Schleife.
Nun wollen wir einige Reihen von Smileys erstellen. Um uns die Arbeit zu ersparen, jede einzelne Instanz einer Variablen zuzuweisen, verwenden wir eine Liste. Zunächst erstellen wir die Liste `Smileys` und befüllen diese mit Hilfe einer for-Schleife.
```
from Smiley import Smiley
......@@ -31,8 +31,10 @@ from Smiley import Smiley
Smileys = [Smiley('#f5f242') for x in range (20)]
```
Nun ist es uns möglich mittels einer weiteren Schleife auf die Methoden jeder einzelnen Instanz zuzugreifen und diese auszuführen. In diesem Fall greifen wir auf die Methode 'paint' zu und übergeben jeder Instanz in der Liste 'Smileys' andere Parameter.
**Hinweis:** Die Art, wie diese Schleife geschrieben wird, nennt sich im Pythonkontext [list comprehension](https://www.w3schools.com/python/python_lists_comprehension.asp).
Nun ist es uns möglich, mittels einer weiteren Schleife auf die Methoden jeder einzelnen Instanz der Klasse zuzugreifen und diese auszuführen. In diesem Fall greifen wir auf die Methode `paint()` zu und übergeben jeder Instanz in der Liste `Smileys` andere Parameter.
```
def draw():
......
......@@ -37,18 +37,18 @@ class subclass(Smiley):
Smiley.__init__(self,col)
self.col2=col2
```
Anschliessend erstellen wir die Methode `laugh`, die beim betaetigen der Leertaste einen Lachenden smiley erstellt.
Anschliessend erstellen wir die Methode `laugh`, die beim Betätigen der Leertaste einen lachenden Smiley erstellt:
```
def laugh(self, x_pos, y_pos, size_xy):
if keyPressed and key == ' ':
fill(self.col)
ellipse(x_pos, y_pos, size_xy, size_xy)
fill(0)
ellipse(x_pos - size_xy * .2, y_pos - size_xy * .12, size_xy * .2, size_xy * .2)
ellipse(x_pos + size_xy * .2, y_pos - size_xy * .12, size_xy * .2, size_xy * .2)
fill(self.col2)
arc(x_pos, y_pos, size_xy * .75, size_xy * .75, radians(25), radians(155),CHORD);
fill(self.col)
def laugh(self, x_pos, y_pos, size_xy):
if keyPressed and key == ' ':
fill(self.col)
ellipse(x_pos, y_pos, size_xy, size_xy)
fill(0)
ellipse(x_pos - size_xy * .2, y_pos - size_xy * .12, size_xy * .2, size_xy * .2)
ellipse(x_pos + size_xy * .2, y_pos - size_xy * .12, size_xy * .2, size_xy * .2)
fill(self.col2)
arc(x_pos, y_pos, size_xy * .75, size_xy * .75, radians(25), radians(155),CHORD);
fill(self.col)
```
Um die neue Klasse zu Nutzen importieren wir sie ebenfalls.
```
......@@ -64,6 +64,6 @@ def draw():
Subklasse.paint(50,50,50)
Subklasse.laugh(50,50,50)
```
Führen wir den Code aus, stellen wir fest, dass die Sub-Klasse die Methode 'paint' aus der Basis-Klasse übernommen hat.
Führen wir den Code aus, stellen wir fest, dass die Sub-Klasse die Methode `paint()` aus der Basis-Klasse übernommen hat.
Zwar nur bedingt aus unserem Beispiel Abzuleiten, verspricht das Konzept der Vererbung einen strukturierten und modularen Code.
\ No newline at end of file
Zwar nur bedingt aus unserem Beispiel abzuleiten, verspricht das Konzept der Vererbung einen strukturierten und modularen Code.
\ No newline at end of file
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment