クラスを設計するとき
Pythonなら
ダックタイピングせよ
- ※とても雑な説明
- NG
Animalクラスを作り、それを継承したCatクラスとDogクラスを作れ- 「とにかく基底クラスを作り継承させる」をデフォルトの設計にせよ
- OK
Animalクラスを作らず、CatクラスとDogクラスを作るだけにせよ
- なぜそうなのか?は各位ご調査ください
言葉の説明
- アヒルのようにガアガア鳴くなら、
- それがアヒルだ
- ガアガア鳴く「ふるまい」をもって、
- アヒル「であるという型」である、とプログラマーは理解し、そのように実装せよ
- typingという言葉の説明
- この場合のtypeは、プログラミング言語全体における抽象的な「型付け」を意味する
- Pythonにtypeという予約語があるかどうか等とは関係しない
- この場合のtypeは、プログラミング言語全体における抽象的な「型付け」を意味する
関連
- アヒルちゃんつながり