クラスを設計するとき

Pythonなら

ダックタイピングせよ

  • ※とても雑な説明
  • NG
    • Animalクラスを作り、それを継承したCatクラスとDogクラスを作れ
      • 「とにかく基底クラスを作り継承させる」をデフォルトの設計にせよ
  • OK
    • Animalクラスを作らず、CatクラスとDogクラスを作るだけにせよ
  • なぜそうなのか?は各位ご調査ください

言葉の説明

  • アヒルのようにガアガア鳴くなら、
    • それがアヒルだ
  • ガアガア鳴く「ふるまい」をもって、
    • アヒル「であるという型」である、とプログラマーは理解し、そのように実装せよ
  • typingという言葉の説明
    • この場合のtypeは、プログラミング言語全体における抽象的な「型付け」を意味する
      • Pythonにtypeという予約語があるかどうか等とは関係しない

関連