プロトタイプ・ベースの OOP

プロトタイプ・ベースの OOP
JavaScript が実装するオブジェクト指向プログラミング (OOP) は、Java™ コードで使用している OOP とは別のタイプです。Java プログラミングではクラス・ベースの OOP モデルに従う一方、JavaScript での OOP ではクラスを使用しません。プロトタイプ・ベースのオブジェクト指向として知られるこの OOP モデルでは、オブジェクトを作成するためのクラス・テンプレートを定義するのではなく、それよりも単純に、必要に応じてオブジェクトを宣言します。オブジェクトが別のオブジェクトの機能を継承しなければならない場合には、プロトタイプ・オブジェクトの機能を単純に複製することができます。プロトタイプをベースとする OOP の重要な利点の 1 つは、オブジェクト・プロトタイプを実行時に変更できることです。これは、オブジェクトの構造が厳格に定義されていないことを意味します。ほとんどのクラス・ベースの OOP プログラミング言語では、実行時にクラスを動的に変更することはできません (ただし、PerlPythonRuby などの少数の例外はあります)。

引用:http://www.ibm.com/developerworks/jp/web/library/wa-ground2/index.html