• ベストアンサー

JavaScriptについて

JavaScriptをオブジェクト指向言語(クラスや継承など)のように記述し、使用することは可能なのでしょうか? JavaScriptをオブジェクト指向的に記述しているソースを見て 感動したので質問してみました。 しょぼい質問で申し訳ないのですが、どなたかご教授ください。 お願い致します。 また、関連するサイトやサンプルソース等がわかりやすく紹介されて いるサイトなどがあれば教えて下さい。

質問者が選んだベストアンサー

  • ベストアンサー
  • ANASTASIAK
  • ベストアンサー率19% (658/3306)
回答No.1

>可能なのでしょうか? 可能です。こんな感じ。 <script type="text/javascript"> function makeMovie(lead,name) { this.title = name this.actress = lead } function showActress() {alert(this.actress + ' is the main actress in '+ this.title); } makeMovie.prototype.showActress = showActress; oscarNominee=new makeMovie('Rinko Kikuchi','"BABEL."') oscarNominee.showActress(); </script> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - >また、関連するサイトやサンプルソース等がわかりやすく紹介されて... ググればいろいろあります(いいのは少ない)。 あなたがCやC++を知っているかでアプローチがちがいます。

その他の回答 (1)

noname#86752
noname#86752
回答No.2

可能です。 分かりやすくはないかもしれませんがprototype.jsのソースは勉強になりますよ。

関連するQ&A

  • オーバーロードはオブジェクト指向プログラミングの枠組みで語られるべきか

    一部の書籍やサイトでは、オーバーロードがオブジェクト指向プログラミングの特徴であるかのような記述が見受けられるのですが、私はそれに疑問を感じます。 オーバーライドはクラス・継承に関わるためOOP特有のものであると思うのですが、オーバーロードはクラスとは全く切り離して考えられるからです。 確かにオーバーロードはクラスを作るときに有用な技術ではありますが、例えばC言語のような非オブジェクト指向言語でオーバーロードが使えたとしても、それなりに機能するはずです。 ひょっとしたら 「オーバーロードもオーバーライドもポリモーフィズムだろう」 ↓ 「ポリモーフィズムといえばオブジェクト指向」 のような話の展開でしょうか(いや、さすがに無理があるか…)。 皆様はどうお考えでしょうか。 ご意見お聞かせ下さい。

  • Javascriptでオブジェクト思考は可能でしょうか?

    Javascriptでオブジェクト思考は可能でしょうか? クラスを作成して、変数を隠ぺいして、コンストラクタ・メソッドとか 継承などできるのでしょうか? 簡単なサンプルがあれば助かります。

  • JavaScriptのロールオーバーに関わるスクリプトを外部に置きたい。

    JavaScriptのロールオーバーに関わるスクリプトを 外部に置きたいと考えています。 このページのほかに、より良いと思われる記述方法はないでしょうか。いくつかサンプルがあればうれしいです。 オブジェクト指向JavaScript http://web.paulownia.jp/script/rollover.html

  • オブジェクト指向言語について

    オブジェクト指向言語における、クラス継承の動作について ご教授ください。 クラスを継承する場合、extendsなどといったキーワードで継承の動きを 実現させるとおもいますが、継承とは、Aというクラスを丸々包含したBというクラスを作成することをいうのでしょうか? それとも、Aというクラス内にあるpublicやprotectedメンバのみをBというクラスに引き継ぐことをいうのでしょうか? 書籍にやサイトによっては【継承とは継承もとのprivateおよびprotecetd(に準じた)メンバを派生クラスに引き継がせる】という風に解釈できる文面で記述されているものがあります。 継承とは親クラスを拡張した子クラスを作成する と解釈できるような文面で記述された文献もあります。 伺いたいのは、クラス丸ごとを継承するのかそれともpublicおよびprotectedに準じたメンバのみを 継承するのかです。 OOPの思想や、ちょっと詳しいからといってこまごましたことを こたえてくるような方はご遠慮ください。

  • VBがオブジェクト指向言語でない理由

    一般的にVBはオブジェクト指向ではない(VB7でその方向へ向かう)といわれていますが、実際にVBをさわり始め、いろんな本を読んでみると、 1)クラスが作成でき、構造体と関数を1つにまとめ、メンバ(プロパティ・メソッド)を定義付けできる 2)Implementsステートメントでクラスの継承が出来る と、ある程度のオブジェクト指向言語の要件を備えているように見えます。 といっても私はJAVAもSmallTalkも知らないので、「何が真のオブジェクト指向か」というのを良く判っていないのかも知れないのですが。 しかしC++関連書などを読んでいると出てくるクラスの使用例などはVBのそれと大差なく、なぜクラスの作成もできて、継承も可能なVBがオブジェクト指向ではないのか? という疑問がわいてきました。 JAVAとは何が違うのか? これが出来ないからオブジェクト指向ではないのだ! という理由をご存じの方、回答もらえればうれしいです。

  • ページング機能について

    ページング機能について 以前こちらで質問させて頂き、素晴らしい回答者様がオブジェクト指向でサンプルを作っていただき涙がでる思いでした。 その後オブジェクト指向についてサイトを色々見てクラスなどで管理して呼び出すという素晴らしい方法と出会いました。 しかし私はドットインストールで学んでいる初心者なため、また壁に当たってしまいました。 http://dotinstall.com/lessons/paging_php_v2/8510 前回の質問で頂いたものでオブジェクト指向も一緒に勉強してやると思ったのですが、知識が詰め込み&始めたばかりで完全に詰んでしまいました。 オブジェクト指向はSQLで呼び出すものをクラスに作り実体化させ表示するとは思うのですが、書き方が悪いのかどうもうまくいかず、せっかく頂いたサンプルソースもグチャグチャになり再ダウンロード状態です。 ドットインストールの上記のページング機能と件数表示、これに関しましてオブジェクト指向の場合はどのようにするか教えて頂ける方がいないかと質問させて頂きました。 自分で調べろと言われそうなご質問ですが、色々なサイトで自分なりにやってみたのですが、完全にパンクしてしまったので申し訳ございませんがよろしくお願いします。

    • ベストアンサー
    • PHP
  • javascriptに関して

    オンマウスで画像が大きくなり、そのうえリンクが張れるサンプルのソースを教えてください。 フラッシュなどは使用できずjavascriptで制作しなければなりません。 参考サイトなどもございましたらあわせてご教授下さい。

  • JavaScriptのthisについて

    はじめまして。 質問があります。 例えば、JavaScriptのthisとは、参照中のオブジェクトであると参考書 に書かれているのですが、JavaScriptでいうオブジェクトとは、何を指 すものなのでしょうか、参照書のサンプルをみてみると、thisを指定し ている場所はHTMLフォームなどの中であったりします。ということは、 HTMLフォームはオブジェクトの一つであるとみなすべきなのでしょうか?いまいちthisの使い方がよくわかりません。どうかご教授 お願いします。

  • オブジェクト指向の教え方

    新入社員にJavaを教えているところなのですが、オブジェクト指向プログラミングをどのように教えていいか困っています。 全員がC言語研修を受講済みで、さらにJava言語も、継承やオーバーロード、例外まで一通り教えて、一応理解しています。 そこで、次のレベルとして、C言語風のプログラミング(「プログラム=関数の集まり」の考え方)から、オブジェクト指向(「プログラム=オブジェクトの集まり」の考え方)に意識改革させたいところです。 問題領域をオブジェクトの集まりとしてとらえ、そこからクラスを抽出していく、という説明がよくありますが、 「何をオブジェクトにするのか」「どのようにクラスを抽出したらいいのか」の部分を詳しく教えたいのですが、どのように説明したらいいでしょうか。また、参考になるWebサイトなどありませんでしょうか? 自分が普段作るときは、ほぼ「勘」でクラス設計していますので、それでは教えられなくて困っています。よろしくお願いします。

    • ベストアンサー
    • Java
  • 本当にオブジェクト指向プログラミングっていいのでしょうか?

    いつもお世話になっております。 VC++初心者です。 現在、VC++6.0、MFCのソース修正で四苦八苦しています。 (コーディングするよりも。ソースを追うので苦労してます。) (初心者の私が言うのも難ですが、オブジェクト指向云々言う前に  ソースのif文節が異常に長かったり、3重以上ループが出てくると  とても嫌になります、、、) 一般的(?)に、プログラミングは 手続き型プログラミングよりオブジェクト指向プログラミングが 開発効率がよい、と重宝されているようですが、 どうも納得できていません。 (その手の書籍を2,3冊読みましたが消化不良に終わっています。) 個人的には、手続き型プログラミングの方が好きです。 というのも、慣れているからかもしれませんが、 ソースが追いやすいし、見やすいと思います。 逆にオブジェクト指向プログラミングでは、 ・継承されすぎると、基本クラスまで追うのが一苦労。 ・インスタンスをつくってから、関数を呼ぶのが面倒な気がする。  (手続き型なら関数呼び出しのみで済みます。) ・インスタンスをdeleteし忘れて、メモリを圧迫する危険がある。  (ガーベージコレクションというものもあるようですが、  どこで何を消しているか不安です。) ・ソースを追いにくい(慣れの問題なのでしょうか、、、) そこでですが、 「手続き型は~~で大変だけど、オブジェクト指向ならこんなにすばらしい」 というような対比的に具体例を挙げて説明されている 書籍、サイトの紹介、または、よい助言を頂けませんでしょうか。 また、上記に伴い、 ・手続き型で組んで失敗した例(オブジェクト指向型にすれば良かった例) ・オブジェクト指向型で組んで失敗した例(手続き型にすれば良かった例) も宜しければ教えて頂きたく、お願いします。 (成功例のみよりも、失敗からの成功例を教えて頂けると嬉しいです。) 長くなりましたが、宜しければご教授下さい。

専門家に質問してみよう