[Python-de] Frage zur Vererbung

WehlackJ jwd at dahme-spreewald.de
Do Sep 11 10:13:05 CEST 2014


Hallo,
ich mache meine ersten Versuche mit der objektorientierten
Programmierung. Folgendes Script reagiert für mich (noch) unverständlich.
c1 und c2 greifen offenbar auf dieselben Variableninhalte zu, c hat
anderer Variableninhalte von l1 und l2. Wie ist das zu verstehen?

Mein Ziel wäre, dass c, c1, c2 auf dieselben Inhalte zugreifen können.

Danke für eure Hinweise
Joachim


#!/usr/bin/python
# -*- coding: utf-8 -*

class C(object):
    l1=[];l2=[]
    def __init__(self,v1,v2):
        self.l1=v1
        self.l2=v2
        self.c1=C1()
        self.l1.append('a')
        self.l2.append('b')
        self.c2=C2()
        print('c: l1:',self.l1,'l2:',self.l2)


class C1(C):
    def __init__(self):
        self.l1.append(3)
        self.l2.append(4)


class C2(C):
    def __init__(self):
        print('c2: l1:',self.l1,'l2:',self.l2)


if __name__ == '__main__':
    c=C([1],[2])
    print('main,l1:',c.l1,'l2:',c.l2)
    print('main,c1,l1:',c.c1.l1,'l2:',c.c1.l2)
    print('main,c2,l1:',c.c2.l1,'l2:',c.c2.l2)



Mehr Informationen über die Mailingliste python-de