Meine erste Klasse

Sehr einfache Zähler benötigen nur ein Attribut (den Zählerstand) und drei Methoden:
  1. Zählerstand löschen
  2. Zähler hochzählen
  3. Zählerstand melden (hat Zäehlerstand)

Erstellen Sie mit Hilfe des Texteditors in Ihrem Arbeitsverzeichnis eine Datei mit dem Namen "zaehler0.py" und folgendem Inhalt:

class Zaehler:                                  # Name der Klasse

                                                # Initialisierungs-
  def __init__(self):                           # und Attributbereich
    self.zaehlvar=0                             # für die Erzeugung von
                                                # Objekten
                                                

  def loeschen(self):                           # Methode "loeschen"
    self.zaehlvar=0				# = ist hier das Zuweisungszeichen

  def hochzaehlen(self):                        # Methode "hochzaehlen"
    self.zaehlvar=self.zaehlvar+1

  def hat_Zaehlerstand(self):                   # Ergebnis-Methode
    return self.zaehlvar

Erläuterungen zum Quelltext:

Sie haben soeben die Klasse "Zaehler" programmiert.
"self" (man könnte auch jede andere Bezeichnung verwenden) ist die Referenz auf das (später mit Hilfe dieser Klasse erzeugte) eigene Objekt. Variablen ohne vorangestelltes "self" sind nur innerhalb des Def-Bereiches (Methode oder Initialisierung) sichtbar, in dem sie deklariert (und gleichzeitig initialisiert) werden. Da der Zählerstand ein Attribut ist, muss er von allen Methoden der eigenen Klasse erreicht werden können. Der Name für die Referenz auf das eigene Objekt wird grundsätzlich als erster (und hier einziger) Parameter der Methoden angegeben. Beim Aufruf von Methoden verwaltet das Runtimesystem von Python allerdings den Parameter "self" automatisch. Hat also eine Methode nur den Parameter "self", so erfolgt der Aufruf der Methode ohne explizite Angabe eines Parameters: ().

python.gif Man beachte die Einrückungen: sie strukturieren den Code und sind verpflichtend!

Erstellen Sie mit Hilfe des Texteditors in Ihrem Arbeitsverzeichnis eine weitere Datei mit dem Namen "main.py" und folgendem Inhalt:


#! /usr/bin/python from zaehler0 import * # vollständiger Import aller Klassen aus # "zaehler0.py" mein_Zaehler=Zaehler() # Erzeugung eines Objekts "mein_Zaehler" # (andere Sprachen verwenden hier ein "new") mein_Zaehler.hochzaehlen() # Methodenaufrufe ..... mein_Zaehler.hochzaehlen() print "Der Zählerstand ist:" print mein_Zaehler.hat_Zaehlerstand()

Starten Sie nun das Programm "main.py" durch Eingabe seines Namens (chmod 755 nicht vergessen). Sie erhalten als Bildschirmausgabe:

Der Zählerstand ist:
2

Wenn Sie sich den Inhalt Ihres Arbeitsverzeichnisses ansehen (ls -l / dir), dann entdecken Sie nun eine Datei mit dem Namen "zaehler0.pyc". In dieser Datei befindet sich die in den Pseudocode übersetzte Klasse, die in zaehler0.py ihren Quellcode hat. Der Quelltext könnte den Schülern also auch vorenthalten werden!


zurück

Dr. Bernd Kokavecz
15.12.99