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

Get Einfüehrung in Python now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.