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
Links
- slots - docs.python.org/3.1