久方ぶりに、質問させてもらいます。
今回の質問の内容は、
サブクラス内で、継承関係にあるスーパークラスの変数を扱いたくなった時、
「どうすれば変数を呼び出すことができるのか?」ということです。
例えば、
python
1class testA(): 2 def __init__(self): 3 self.x = 10 4 5class testB(testA): 6 def __init__(self): 7 self.y = (testA.x) + 10 # (testA.x)はスーパークラスの(x) 8A = testA() 9B = testB()
とした時、クラスtestB内で(testA.x)のところで、
testAの変数であるxを呼び出したいのです。
*これは、コンストラクタの場合でなくても大丈夫です。
メソッドなら、super()で呼び出せるのは知っているのですが、
変数を呼び出す方法が調べても出てこなかったので、ここで質問させてもらいました。
もしかしたらですが、この質問自体間違っているのかもしれません。
testAはクラスの定義なのだから、
もし扱いたかったら、testAのオブジェクトを作成して、
そのオブジェクトの(x)を(何らかの方法で)呼び出すべきなのかもしれません。
何分、プログラミングを勉強したてなものですので、
そもそもな問題もわからないところもあるとは思いますが、
この質問への質問でも歓迎しておりますので、
どうか宜しくおねがいします。
質問の追記
python
1A = testA() 2B = testB() 3 4A.x += 1 # +=1 とした時に、B.x の値も変更されるようにしたい。
A.x と B.x が同じメモリを扱うことというのはできないですか?
それはもう、明示的に 「B.x += 1」などというように示さなければいけないのですか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/08/23 00:07
2016/08/23 00:37
2016/08/23 08:28