O'Reilly logo

Einfüehrung in Python by David Ascher, Mark Lutz

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Teil VI: Klassen und OOP

  1. Vererbung. Hier ist die Lösung, die wir für diese Übung zusammengebaut haben (Datei adder.py), inklusive einiger interaktiver Tests. Die Methode _ _add_ _ muss nur einmal in der Oberklasse überladen werden, da sie typspezifische add-Methoden in Unterklassen aufruft.

    class Adder:
      def add(self, x, y):
        print 'nicht implementiert!'
      def _ _init_ _(self, start=[ ]):
        self.data = start
      def _ _add_ _(self, other):            # oder in Unterklassen?
          return self.add(self.data, other)  # oder Typ zurückgeben?
    
    class ListAdder(Adder):
      def add(self, x, y):
        return x + y
    
    class DictAdder(Adder):
      def add(self, x, y):
        new = { }
        for k in x.keys( ): new[k] = x[k]
        for k in y.keys( ): new[k] = y[k]
        return new
    
    % python
    >>> from adder import *
    >>> x = Adder( ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required