OOP Material Grundlagen dynamische Attribute und Methoden Slots Module Ueberladen Vererbung UML Callback MVC Beispiele
Pfad: Startseite / Fächer / Informatik / Python / OOP / Slots
Autor: mk
19.12.2009 17:14:14
727
Slots

Beispiel

Man kann in Python über __slots__ 'vereinbaren', welche Attribute eine Klasse haben darf. Verstöße werden aber - prinzipbedingt - erst zur Laufzeit gefunden.

class Bruch1(object):
    def __init__(self, z, n):
        self.zaehler = z
        self.nenner = n

    def erweitern(self, k):
        self.zahler = self.zaehler * k
        self.nenner = self.nenner * k

    def kuerzen(self, k):
        if (self.zaehler % k == 0) and (self.nenner % k == 0):
            self.zaehler = self.zaehler // k
            self.nenner = self.nenner // k

class Bruch2(object):

    __slots__ = ('zaehler', 'nenner')

    def __init__(self, z, n):
        self.zaehler = z
        self.nenner = n

    def erweitern(self, k):
        self.zahler = self.zaehler * k
        self.nenner = self.nenner * k

    def kuerzen(self, k):
        if (self.zaehler % k == 0) and (self.nenner % k == 0):
            self.zaehler = self.zaehler // k
            self.nenner = self.nenner // k

Beispiel

Links