teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

1

サンプルコードの追加

2021/03/12 11:42

投稿

tam1006
tam1006

スコア28

title CHANGED
File without changes
body CHANGED
@@ -3,4 +3,22 @@
3
3
  よく目的別にクラスを分けて、別のファイルにして、そのファイルから目的の関数を呼び出してmainを書くということをすると思います。ここではそのクラスをAとして、メインでAを呼び出すこととします。
4
4
  この時、Aのクラス内の処理で、メインのクラス変数に応じて処理を分けたいということがある場合、どうすればいいんでしょうか。
5
5
 
6
- 普通にメインでAのクラスをインポートする場合、メインはAのクラスを自由に使えますが、Aではメインのクラスにアクセスできないと思います。
6
+ 普通にメインでAのクラスをインポートする場合、メインはAのクラスを自由に使えますが、Aではメインのクラスにアクセスできないと思います。
7
+
8
+ 例えば以下のAとmainコードがあったとして、mainはAのクラスを継承しています。ここで、Aのtest1クラスにおいて、mainのtest2クラスの中のクラス変数であるself.yearを用いたい場合、どうやって呼び出したらいいのですか?
9
+
10
+ ```python A
11
+ # A
12
+ class test1:
13
+ def __init__(self):
14
+ self.name = "taro"
15
+ ```
16
+
17
+ ```python main
18
+ # main
19
+ from A import test1
20
+ class test2(test1):
21
+ def __init__(self):
22
+ super().__init__()
23
+ self.year = 20
24
+ ```