クラスベース

クラスベース (: Class-based) は、オブジェクト指向プログラミング(OOP)のスタイルのひとつであり、オブジェクトの生成にクラスを用いるスタイルを指している。OOPの標準的スタイルである。それと対比されるスタイルにプロトタイプベースがある。

クラスベースOOPは、先発のアラン・ケイSmalltalk流と、後発のビャーネ・ストロヴストルップC++流で二分されている。Smalltalk流はメッセージパッシングを基礎にしており、C++流は継承と動的ディスパッチを加えた抽象データ型のスーパーセットを基礎にしている。

クラスベースOOPでのオブジェクトは、総じてクラスを実体化したインスタンスと定義されている。クラスは、状態と振る舞いの構成を定めた一種のであり、オブジェクトのひな型や設計図に例えられている。クラスにはカプセル化、継承、ポリモーフィズムをサポートするメカニズムが備えられているのが普通である。Smalltalkのクラスは、メタクラスインスタンスでもあるのでオブジェクトである。C++流のクラスはただのであり、そのインスタンスがオブジェクトである。

C++流のクラスベースは、静的型付け動的型付けで二分されている。静的型付けはクラスの構成解釈=オブジェクトの型チェックをコンパイル時にする機構であり、動的型付けはクラスの構成解釈=オブジェクトの型チェックを実行時にする機構である。

脚注

コンピュータ・プログラミング言語の関連項目
言語水準
言語処理系
言語分類
その他
関連項目
  • 表示
  • 編集