web-dev-qa-db-ja.com

子クラスインスタンスから親クラスインスタンス属性にアクセスしますか?

このコード例で「子」から「myvar」にアクセスする方法:

class Parent():
    def __init__(self):
        self.myvar = 1

class Child(Parent):
    def __init__(self):
        Parent.__init__(self)

        # this won't work
        Parent.myvar

child = Child()
11
user975135

親はクラスです-ブループリントはそのインスタンスではありません。オブジェクト指向では、オブジェクトの属性にアクセスするには、同じインスタンスが必要です。ここでは、自己/子はインスタンスであり、親/子はクラスです。

以下の答えを参照してください、あなたの疑問を明らかにするかもしれません。

class Parent():
    def __init__(self):
        self.myvar = 1

class Child(Parent):
    def __init__(self):
        Parent.__init__(self)

        # here you can access myvar like below.
        print self.myvar

child = Child()
print child.myvar
15
Japan Shah

親にはmyvarという属性がありません。親のインスタンスのみがその属性を持っています。 Childのメソッド内から、self.myvarを使用してその属性にアクセスできます。

7
BrenBarn