This link has been bookmarked by 39 people . It was first bookmarked on 31 May 2006, by ema ame.
-
15 Aug 12
-
09 Nov 11
-
02 Sep 11
-
24 May 10
-
25 Mar 10
-
07 May 09
-
22 Feb 08
-
30 Nov 07
-
15 Mar 07
-
06 Jan 07
-
24 Oct 06
-
07 Sep 06
-
12 Aug 06
-
オブジェクト指向
JavaScriptはオブジェクト指向でしょうか?
JavaScriptにはオブジェクトがあり、オブジェクトはデータと、データに作用するメソッドを含むことができます。オブジェクトは他のオブジェクトを含むこともできます。
JavaScriptにはクラスがありませんが、クラスに相当する機能としてコンストラクタが存在します。コンストラクタは、クラス変数とメソッドのコンテナとして機能します。また、JavaScriptはクラス指向の継承ではなく、プロトタイプ指向の継承を備えています。
オブジェクトを組織する2つの主な方法に*4、継承(is-a)と集約(has-a)があります。JavaScriptでは両方を使うことができるのですが、この言語の持つ動的な性質を考えると、集約の利用が勝っているでしょう。
JavaScriptは情報の隠蔽を行なえないので真のオブジェクト指向ではない、という主張があります。この主張は、オブジェクトがプライベート変数とプライベートメソッドを持てず、すべてのメンバがパブリックになってしまうというものです。
しかしJavaScriptのオブジェクトも、プライベート変数とプライベートメソッドを持てることが分かりました。(ここをクリックして、確認してください。)もちろん、JavaScriptは世界で最も誤解されたプログラミング言語であるため、理解している人はほとんどいません。
JavaScriptには継承がないので、真のオブジェクト指向ではない、という主張もあります。
しかしJavaScriptが古典的な継承だけでなく、その他のコード再利用パターンも使えることが分かっています。
-
JavaScriptに関する書籍の大半は非常にひどいものです。それらの書籍は間違いと下手な実例を記載し、悪い習慣を助長しています。たいていの場合、JavaScriptの重要な特徴の説明が不十分か、または完全に省略されています。私は沢山のJavaScriptの本を読んできましたが、お勧めできる書籍は2冊しかありません。『JavaScript』著:デイビッド・フラナガンと、『Dynamic HTML (2nd Edition)』著者:Danny Goodman*3です。両方ともオライリーから出版されています。
-
-
03 Aug 06
-
31 May 06
-
16 Apr 06
-
02 Apr 06
-
12 Sep 05
-
04 Sep 05
-
03 Sep 05
-
02 Sep 05
Page Comments
JavaScriptに関する書籍の大半は非常にひどいものです。それらの書籍は間違いと下手な実例を記載し、悪い習慣を助長しています。たいていの場合、JavaScriptの重要な特徴の説明が不十分か、または完全に省略されています。私は沢山のJavaScriptの本を読んできましたが、お勧めできる書籍は2冊しかありません。『JavaScript』著:デイビッド・フラナガンと、『Dynamic HTML (2nd Edition)』著者:Danny Goodman*3です。両方ともオライリーから出版されています。
JavaScriptはオブジェクト指向でしょうか?
JavaScriptにはオブジェクトがあり、オブジェクトはデータと、データに作用するメソッドを含むことができます。オブジェクトは他のオブジェクトを含むこともできます。
JavaScriptにはクラスがありませんが、クラスに相当する機能としてコンストラクタが存在します。コンストラクタは、クラス変数とメソッドのコンテナとして機能します。また、JavaScriptはクラス指向の継承ではなく、プロトタイプ指向の継承を備えています。
オブジェクトを組織する2つの主な方法に*4、継承(is-a)と集約(has-a)があります。JavaScriptでは両方を使うことができるのですが、この言語の持つ動的な性質を考えると、集約の利用が勝っているでしょう。
JavaScriptは情報の隠蔽を行なえないので真のオブジェクト指向では
Would you like to comment?
Join Diigo for a free account, or sign in if you are already a member.