- 【JavaScript】スクリプト バトルロワイヤル54【php,py,pl,rb】 [無断転載禁止]©2ch.net
612 :デフォルトの名無しさん[sage]:2016/09/15(木) 00:05:57.01 ID:jA0u0SmJ - そんな難しく考える必要はないよ。
簡単に言えば、ユーザー定義型のこと。 組み込み型=具象(concrete)に対して、ユーザー定義の型=抽象(abstract)。 型と手続きをひとくくりにして扱うことによるモジュール化手法のひとつで、置換原則で有名なバーバラ・リスコフが提唱した。 リスコフ自身は、クラスタという言語機能を持つ CLU という言語を作って ADT を実現したけれど、 Simula 67のクラスという言語機能を使っても ADT が出来ることに気付いて C++ を作ったのがビャーネ・ストラウストラップ。 これが現在主流の OOP の原型「カプセル化、継承、ポリモーフィズム」となった。 念のため、この OOP の三つのお題目のそれぞれ「カプセル化」は抽象データ型の特徴、「継承」はクラスの特徴、 「ポリモーフィズム」は両者の組み合わせで実現可能なことを端的に表わしている。 ちなみに、同じ Simula 67 のオブジェクトにメッセージの受け手としての性格を持たせるアイデアも OOP と名付けられていて まぎらわしい。これを考えたのはアラン・ケイで、そのアイデアをダン・インガルスが Smalltalk-72 として実装している。 「オブジェクトにメッセージを送って〜」という類のお題目はこちらの別筋の OOP の話。
|
|