next up previous contents index 6163656769
Next: 1.4 Vergleich mit anderen Up: 1.3 Namen Previous: 1.3.1 Namenszuweisung für Funktionen*   Contents   Index

1.3.2 Vereinbarung von Klassen*

Klassen werden durch den class-Operator vereinbart. Das Prinzip sieht wie folgt aus:

class Klassenname:

  

  name1=datenobjekt1

  name2=datenobjekt2

   
  def funktion1(parameter1,...):

     Anweisungscode

  

  def funktion2(parameter1,...)

     Anweisungscode

Also: zuerst werden die Datensätze vereinbart. Danach die zugehörigen Funktionen der Klasse, die ja Methoden genannt werden. Am besten zeigen wir ein Beispiel:

>>>class mathe:

...  self.j=1

...  def fakultaet(self,n)

...    for i in range(n):

...      self.j=self.j*i

...  return self.j

Warum der Parameter self notwendig ist, erfahren Sie genauer im Abschnitt [*]. Probieren wir das Beispiel aus:

>>>anna=mathe()  

>>>anna.fakultaet(4)

24

>>>

In der ersten Zeile wird ein Objekt vom Typ mathe eingerichtet1.5. Der Name anna wird von der Klasse im Parameter self gespeichert. Wunderbar. Aber was soll das?

Figure: Klassen
\includegraphics[%
scale=0.8]{klassen.eps}

Nun, das alles wird Ihnen wie gesagt, genauer im Abschnitt [*] erklärt. Es ging hier nur darum, zu zeigen, was Klassen sind. Als Motivation, dies genauer zu lernen: alle, aber auch wirklich alle Dinge beim grafischen Programmieren sind solche Klassen. Ein button ist eine Klasse mit ganz bestimmten Methoden, eine Menüliste ist wiederum eine andere Klasse mit anderen Methoden usw.

Die Abbildung [*] zeigt noch einmal die Vorgänge innerhalb einer Klasse. Der einzige von aussen zugängliche, aber nicht verfügbare Name ist self. Diesem wird der Name des Objektes übergeben, das von diesem Klassentyp ist. In diesem Fall heisst das Objekt daniela. Der Objektname ist streng vom Klassennamen cdaniela zu unterscheiden. Der Name cdaniela zeigt auf die Klasse als Objekt, während self eine Verbindung eines eingerichteten Objektes vom Typ cdaniela mit den internen Namen anna, bernd und carina vornimmt. Wie wir später sehen werden, ist self sozusagen die Kommunikationszentrale zwischen den einzelnen Objekten.

       


next up previous contents index 6163656769
Next: 1.4 Vergleich mit anderen Up: 1.3 Namen Previous: 1.3.1 Namenszuweisung für Funktionen*   Contents   Index
Heiko Schroeder 2003-03-19