October 2017
Intermediate to advanced
832 pages
13h 34m
Japanese
専門家だけが設計できるフレームワーク上で初心者でも作業できるようにするために、継承というアイデアを押し出し始めました。
——Alan Kay「The Early History of Smalltalk」より[EN-28]†1
[†1] 本章の執筆中にこの文献を教えてくれた友人のChristiano Andersonに感謝します。
本章では継承とサブクラス化を説明します。特に重点を置いているのは、次の2点のPython固有な話題です。
多重継承は、その利点よりも欠点の方が多いと考える人もたくさんいます。Javaではなくても困りません。きっと、過剰な多重継承でトラウマになった人がC++で続出してしまったので、Javaはいろいろなところで採用されるようになったのでしょう。
反面、Javaの驚くべき成功と影響力のため、プログラマの多くは多重継承を現場で見ることなくPythonを使い始めることになります。そこで、本章では「おもちゃな例」は用いず、Tkinter GUIツールキットとDjangoウェブフレームワークという重要なPythonプロジェクトを例にとって多重継承を説明します†2。
[†2] 監訳注:「おもちゃな例」(toy example)とは、本来はより複雑あるいは抽象化された問題を、それそのものではないけれども、噛み砕いた簡単な用例で示したものを指します。
では、組み込み型からのサブクラス化の問題から始めましょう。本章の残りの部分では、ケーススタディを通じて多重継承を説明し、クラス階層を構築するときのよい実践例と悪い実践例を考察します。
Read now
Unlock full access