回答編集履歴

1

内容修正

2022/10/10 11:49

投稿

TakaiY
TakaiY

スコア12765

test CHANGED
@@ -14,11 +14,7 @@
14
14
  「class Application(tk.Frame):」 としたとき、 クラスApplicationはクラス tk.Frame(tkinterモジュールのFrameクラス)を継承しています。 この時、FrameクラスをApplicationクラスの基底クラスと呼びます。親クラスとも呼ばれます。 逆に ApplicationクラスはFrameクラスの派生クラスとか子クラスと呼ばれます。
15
15
 
16
16
  派生クラスの定義で基底クラスのメソッドと同じメソッドを定義することができます。これをメソッドのオーバーライドど言います。 派生クラスのインスタンスでこのメソッドを呼んだとき、実行されるのは派生クラスで定義されたメソッドになります。
17
- しかし特にクラスの初期化を行なう`__init__`メソッドのようなメソッド、基底クラスで重要な(この場合はインスタンスが意図した動作をするために必要な)処理を`__init__`メソッドで実施しているので、これが呼ばれないとインスタンスの機能が不十分になってしまいます。
17
+ さて、クラスの初期化を行なう`__init__`メソッドのようなメソッドをオーバーライドした場合、基底クラスで重要な(この場合はインスタンスが意図した動作をするために必要な)処理を`__init__`メソッドが呼ば'れないになってしまうので、インスタンスの機能が不十分になってしまいます。
18
- なので、派生クラスのインスタンスを生成したときの`__init__`メソッドで、基底クラスの`__init__`メソッドを呼ぶ必要があるのです。 その書き方が、`super().__init__(master)`です。
18
+ なので、そのようなことにならないように、派生クラスの`__init__`メソッドで、基底クラスの`__init__`メソッドを呼ぶ必要があるのです。 その書き方が、`super().__init__(master)`です。
19
19
 
20
20
 
21
-
22
-
23
-
24
-