回答編集履歴
2
追記
test
CHANGED
@@ -2,5 +2,11 @@
|
|
2
2
|
|
3
3
|
「うまいこといかんかったら例外投げるよ」がスーパータイプの仕様に含まれているなら、
|
4
4
|
リスコフの置換原則に違反しません。
|
5
|
+
```Java
|
6
|
+
interface Rectangle {
|
7
|
+
public void setWidth(int width) throws AssertionError; // うまいこといかんかったら
|
8
|
+
public void setHeight(int height) throws AssertionError; // 例外投げるよ(ちゃんとcatchしてね!)
|
9
|
+
}
|
10
|
+
```
|
5
11
|
|
6
12
|
スーパータイプを使ってちゃんと動くプログラムなら、それをサブタイプに取り換えてもちゃんと動く(どちらなのかに応じてプログラムをいぢくる/分岐する必要がない)ってことですから。
|
1
追記
test
CHANGED
@@ -2,3 +2,5 @@
|
|
2
2
|
|
3
3
|
「うまいこといかんかったら例外投げるよ」がスーパータイプの仕様に含まれているなら、
|
4
4
|
リスコフの置換原則に違反しません。
|
5
|
+
|
6
|
+
スーパータイプを使ってちゃんと動くプログラムなら、それをサブタイプに取り換えてもちゃんと動く(どちらなのかに応じてプログラムをいぢくる/分岐する必要がない)ってことですから。
|