回答編集履歴
9
Button can pushでは「ボタンが押せる」と言う意味になるので、Button can be pushed「ボタンを押すことができる」に変更
test
CHANGED
@@ -22,11 +22,11 @@
|
|
22
22
|
|
23
23
|
|
24
24
|
|
25
|
-
例えば、`ToggleButton can push, and FlatButton can push`という関係を明示するときは`ToggleButton`と`FlatButton`クラスに`Pushable`インターフェイスを実装させます。
|
25
|
+
例えば、`ToggleButton can be pushed, and FlatButton can be pushed`という関係を明示するときは`ToggleButton`と`FlatButton`クラスに`Pushable`インターフェイスを実装させます。
|
26
26
|
|
27
27
|
|
28
28
|
|
29
|
-
もちろん、`Button`という抽象クラスを定義して、`Button can push`という関係を明示するために`Button`に`Pushable`を実装しても構いません。
|
29
|
+
もちろん、`Button`という抽象クラスを定義して、`Button can be pushed`という関係を明示するために`Button`に`Pushable`を実装しても構いません。
|
30
30
|
|
31
31
|
|
32
32
|
|
@@ -38,7 +38,7 @@
|
|
38
38
|
|
39
39
|
|
40
40
|
|
41
|
-
`is a button`なオブジェクトまたは、または`can push`なオブジェクトなら特定の処理をしたいというケースがあります。
|
41
|
+
`is a button`なオブジェクトまたは、または`can be pushed`なオブジェクトなら特定の処理をしたいというケースがあります。
|
42
42
|
|
43
43
|
その場合はインターフェイスの型や抽象クラスの型を引数に取り、プログラムを書くことができます。
|
44
44
|
|
8
文章の修正
test
CHANGED
@@ -136,4 +136,4 @@
|
|
136
136
|
|
137
137
|
|
138
138
|
|
139
|
-
後で`DecorativeButton`を追加したいという時になっても、そこに`Button`クラスを継承させたり、`Pushable`インターフェイスを実装させたりすることですぐにアプリケーションへ組み込むことが出来ます。
|
139
|
+
後で`DecorativeButton`という新しいクラスを追加したいという時になっても、そこに`Button`クラスを継承させたり、`Pushable`インターフェイスを実装させたりすることですぐにアプリケーションへ組み込むことが出来ます。
|
7
カンマがないのが気になる
test
CHANGED
@@ -22,7 +22,7 @@
|
|
22
22
|
|
23
23
|
|
24
24
|
|
25
|
-
例えば、`ToggleButton can push and FlatButton can push`という関係を明示するときは`ToggleButton`と`FlatButton`クラスに`Pushable`インターフェイスを実装させます。
|
25
|
+
例えば、`ToggleButton can push, and FlatButton can push`という関係を明示するときは`ToggleButton`と`FlatButton`クラスに`Pushable`インターフェイスを実装させます。
|
26
26
|
|
27
27
|
|
28
28
|
|
6
an => a
test
CHANGED
@@ -18,7 +18,7 @@
|
|
18
18
|
|
19
19
|
|
20
20
|
|
21
|
-
例えば、`ToggleButton is a Button, and FlatButton is a
|
21
|
+
例えば、`ToggleButton is a Button, and FlatButton is a Button`という関係を明示するときは`ToggleButton`と`FlatButton`クラスに`Button`クラスを継承させます。
|
22
22
|
|
23
23
|
|
24
24
|
|
5
文章の修正
test
CHANGED
@@ -128,7 +128,7 @@
|
|
128
128
|
|
129
129
|
|
130
130
|
|
131
|
-
上記のように書くことで、引数に渡されたインスタンス
|
131
|
+
上記のように書くことで、引数に渡されたインスタンス毎の状態を取得したり、インスタンス毎に違う振る舞いをさせたりすることができます。
|
132
132
|
|
133
133
|
|
134
134
|
|
4
pushしてないのでpushした
test
CHANGED
@@ -58,6 +58,10 @@
|
|
58
58
|
|
59
59
|
getButtonIsEnabled(fb);
|
60
60
|
|
61
|
+
pushSomething(tb);
|
62
|
+
|
63
|
+
pushSomething(fb);
|
64
|
+
|
61
65
|
}
|
62
66
|
|
63
67
|
|
@@ -70,7 +74,7 @@
|
|
70
74
|
|
71
75
|
|
72
76
|
|
73
|
-
public static void push(Pushable p){
|
77
|
+
public static void pushSomething(Pushable p){
|
74
78
|
|
75
79
|
p.push();
|
76
80
|
|
3
表記ゆれ
test
CHANGED
@@ -40,7 +40,7 @@
|
|
40
40
|
|
41
41
|
`is a button`なオブジェクトまたは、または`can push`なオブジェクトなら特定の処理をしたいというケースがあります。
|
42
42
|
|
43
|
-
その場合はインタフェ
|
43
|
+
その場合はインターフェイスの型や抽象クラスの型を引数に取り、プログラムを書くことができます。
|
44
44
|
|
45
45
|
|
46
46
|
|
2
コードの修正(見た目が少し気になる)
test
CHANGED
@@ -86,13 +86,11 @@
|
|
86
86
|
|
87
87
|
public abstract class Button implements Pushable{
|
88
88
|
|
89
|
+
private boolean enabled = true;
|
90
|
+
|
89
91
|
public abstract void push();
|
90
92
|
|
91
93
|
|
92
|
-
|
93
|
-
private boolean enabled = true;
|
94
|
-
|
95
|
-
|
96
94
|
|
97
95
|
public boolean getEnabled(){
|
98
96
|
|
1
ちょっと文言変えました
test
CHANGED
@@ -38,7 +38,7 @@
|
|
38
38
|
|
39
39
|
|
40
40
|
|
41
|
-
`is a button`なオブジェクトまたは、または`can push`
|
41
|
+
`is a button`なオブジェクトまたは、または`can push`なオブジェクトなら特定の処理をしたいというケースがあります。
|
42
42
|
|
43
43
|
その場合はインタフェースの型や抽象クラスの型を引数に取り、プログラムを書くことができます。
|
44
44
|
|
@@ -126,8 +126,12 @@
|
|
126
126
|
|
127
127
|
|
128
128
|
|
129
|
-
上記のように書くことで、引数に渡された
|
129
|
+
上記のように書くことで、引数に渡されたインスタンスがそのクラスによって違う状態を取得したり、振る舞わせたりすることができます。
|
130
130
|
|
131
131
|
|
132
132
|
|
133
|
+
これが**ポリモーフィズム**(多態性)です。
|
134
|
+
|
135
|
+
|
136
|
+
|
133
|
-
後で`Decorative
|
137
|
+
後で`DecorativeButton`を追加したいという時になっても、そこに`Button`クラスを継承させたり、`Pushable`インターフェイスを実装させたりすることですぐにアプリケーションへ組み込むことが出来ます。
|