回答編集履歴

4

説明補足

2020/06/20 14:09

投稿

teamikl
teamikl

スコア8681

test CHANGED
@@ -40,7 +40,7 @@
40
40
 
41
41
 
42
42
 
43
- 一方で、メンバー変数にインスタンスを保持する関係は、「委譲」と言います
43
+ 一方で、メンバー変数にインスタンスを保持して、外部から操作する場合は、「委譲」と言います
44
44
 
45
45
 
46
46
 

3

説明補足

2020/06/20 14:09

投稿

teamikl
teamikl

スコア8681

test CHANGED
@@ -4,15 +4,59 @@
4
4
 
5
5
 
6
6
 
7
+ 設計に関しては、何を目的とするかによって最善策は変わってくるので
7
8
 
9
+ 一概にどうすればよいとは言えない部分はあります。一言でいうと case-by-case
8
10
 
9
- くは「委譲」や「継承」、その使分けついて調べてみと良いです。
11
+ こういった場合はこうた方が良い、というよう、目的とす部分・前提条件の共有が必要です。
10
12
 
11
13
 
12
14
 
13
- - `class Class(tk.Frame):` いうやつ 「継承」と言い
15
+ 一般的な事を言う、それぞれに長所・短所あります。
14
16
 
17
+
18
+
19
+
20
+
21
+ `class Application(tk.Frame):` の様な書き方の場合、「継承」と言い
22
+
23
+ 「継承」の一番の問題点は、親クラスと不要な名前空間の共有が発生してしまう点でしょうか。
24
+
25
+
26
+
27
+ self.xxx で Frame クラスの属性にアクセスできるので、
28
+
29
+ 自分で新しくメソッドやプロパティを追加したい場合、
30
+
31
+ 親クラスと被らないかどうかを確認する必要があります。
32
+
33
+
34
+
35
+ サンプルコード等の短い例では、それ程デメリットにならない為、
36
+
37
+ 単に記述量が少なく成るからという理由で使われることは多いです。
38
+
39
+
40
+
41
+
42
+
15
- - リンク先の`classのメンバー変数にインスタンスを保持`する事を「委譲」と言います
43
+ 一方で、メンバー変数にインスタンスを保持する関係は、「委譲」と言います
44
+
45
+
46
+
47
+ - Application のロジックを Tkinter から切り離したい場合は、
48
+
49
+ こちらの方が好ましい。 -> Tkinter に依存せずコードのテストが可能になる
50
+
51
+ - 再利用を気にしなくても良い場合は、若干冗長になる。(書き捨てのコード等)
52
+
53
+
54
+
55
+ 他にも色々あるので、
56
+
57
+ 詳しくは、「移譲」や「継承」とその使い分けに関して調べて見て下さい。
58
+
59
+
16
60
 
17
61
 
18
62
 

2

誤字修正

2020/06/20 13:22

投稿

teamikl
teamikl

スコア8681

test CHANGED
@@ -12,7 +12,7 @@
12
12
 
13
13
  - `class Class(tk.Frame):` というやつ は「継承」と言い
14
14
 
15
- - リンク先の、`classのメンバー変数にインスタンスを保持`する事を「譲」と言います
15
+ - リンク先の、`classのメンバー変数にインスタンスを保持`する事を「譲」と言います
16
16
 
17
17
 
18
18
 

1

誤字修正

2020/06/20 13:02

投稿

teamikl
teamikl

スコア8681

test CHANGED
@@ -6,7 +6,7 @@
6
6
 
7
7
 
8
8
 
9
- 詳しくは、「譲」や「継承」と、その使い分けについて調べてみると良いです。
9
+ 詳しくは、「譲」や「継承」と、その使い分けについて調べてみると良いです。
10
10
 
11
11
 
12
12