• ベストアンサー

オブジェクトの作成

Head_Syndicateの回答

回答No.3

じゃあ僭越ながら私も補足を。 いっそ、オブジェクトの比喩として、「ファイル」とか「コマンド」 アプリケーションソフトの「アイコン」だと思うといいかもしれません。 なにかやってくれるかたまり。 Netscape myNetscape = new Netscape(); とすると、Netscapeというソフトを新しくひとつ作ってコピーした ことになる、と考えてみましょう。myNetscapeがアイコンです。 中身はよくわかんないけど、これをクリックしてなにか動かしてみたり 終了させてみたりすることができる。 そのDateの例も、todayというアイコンが産まれたのです。 Date yesterday = new Date(); これでyesterdayというオブジェクトが産まれた。 でも、この状態だとただ初期状態のやつを二つ作っただけだから、 それぞれのプロパティを設定して実際の今日とか昨日の時刻を 設定してやらなきゃいけない。 そして、これができると、それぞれを比べてみたり他のソフトに 組みこんだりすることができる。 ゴージャスな時計だと、このDate型オブジェクトを二つも三つも 抱えてるかもしれない。その時計自体も時計オブジェクト、という ものになりますね。 # ところで、「オブジェクト=インスタンス」でとりあえずいいと思いますが、 # 「クラスメソッド」なんてものが出てくるとまた混乱しちゃいそうですね…。

holydevil
質問者

お礼

ありがとうございます。だんだんわかってきたような・・・ 変数とオブジェクトの違いをはっきり区別して理解したいのですが、何かいい例えありますか?

関連するQ&A

  • Dateオブジェクトの大小比較のしかた?

    こんにちは,よろしくお願いします。 Dateオブジェクトを次のように作成しました。 var today = new Date(2008,8,21); var theday = new Date(2008,8,21); このようにすれば,同じ日付になると思うのですが, if(today == theday){ alert("=="); }else{ alert("!="); } として,判定すると != が表示されます。Dateオブジェクトの大小判定(日付の前後の比較)はどのように行うのでしょうか?(できないのかな???) 教えていただきたいと思います。よろしくお願いします。

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

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

    • ベストアンサー
    • Java
  • VBがオブジェクト指向言語でない理由

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

  • 【オブジェクト指向について】

    【オブジェクト指向について】 こんにちは。初めて質問をさせていただきます。 さて、ただいまVBを勉強中なのですが、オブジェクト指向のところで躓いてしまいました。 質問したい事は以下の点です。 (1) オブジェクト指向の理解について   オブジェクト指向とは、プログラミングをするときに変数や機能などをクラスというものに格納しておくことで、プログラミングを円滑にすすめるための概念であると理解していますが、この理解は正しいのでしょうか? ご回答お待ちしております。よろしくお願いいたします。

  • php インスタンスとオブジェクトの呼び方

    new obj = new Test(); という一文は、 「Testクラスのオブジェクト、objを作成している」という考えを持っています。 オブジェクトは物という概念で、 「Testクラス を new して、objインスタンスを作成している」 というのが正しいのでしょうか? 【objを Testオブジェクトと呼ぶのは間違っているのでしょうか? objは Testインスタンスと呼ぶのがやはり正しいのでしょうか?】 知り合いにも、インスタンスではなくオブジェクトと呼んでる人が多いのでわからなくなってきました。 ご教授お願いします。

    • ベストアンサー
    • PHP
  • WEBシステム作成でのオブジェクト指向の無駄について

    データベースを使用したWEBシステムの作成に、オブジェクト指向は非効率なだけだと思います。 まず、クラスを使用しない方法(include文などは使用)で作成したPHPデータベースプログラムと 同じシステムを、オブジェクト指向で作ろうとすると、かなり分かりにくいコードになると思います。 さらに、作成をしたシステムの改良やデバックにかなりの時間がかかります。なぜなら、プログ ラム上の変数の動きが非常に把握しにくいからだと思います。 プログラムの再利用なら、よほどよく使う部分や、セキュリティ上必要なところを、include文などで 管理をすれば良いと思うのです。 C/Sシステムやゲーム等ならともかく、WEBシステムでは、すでに、一つ一つの動作にプログラム ファイルが必要なのに、それをさらにクラスに分けて、変数をあちらこちらに飛ばす作りは分かりず らいと思います。 複数人で作成をする時も、WEBシステムでは、オブジェクト指向よりも各ページファイルの動作 プログラムの部分をお互いに担当していった方が、効率的で、またエンジニアもやりがいが出る と思います。 ただ、複数人で作成をする時は、プログラムで使用した変数の用途や概要などの一覧表などは、 あった方が良いと思います。 WEBシステムの作成でオブジェクト指向ではない方が効率的に感じている人で、他にも意見があ る人は教えてください。

    • 締切済み
    • PHP
  • 宣言とは違うオブジェクトを作成???

    初心者です、、、教えて下さいm_ _m 宣言したクラスと、実際に作成するオブジェクトが違うというのはどうゆう意味なんでしょうか? 例えば、 Sample01 s1 = new Sample02(); というような場合です…これの意味がわかりません。。。 というか宣言とは一体なんの役割があるのでしょうか? 宣言したクラスと作成するクラスが違うと矛盾などが起きたりしないのはどうしてなのでしょうか?

    • ベストアンサー
    • Java
  • オブジェクト指向、理解しやすい?

     最近、Javaの解説書や解説サイトを見ていて、しばしば、「Javaは完全なオブジェクト指向だから理解しやすい」といった記述を見かけます。(「プログラムが見やすくなる」とかではなく)  Javaに限った話ではないのですが、個人的に、オブジェクト指向の概念は、プログラミング初心者の最大の関門ではないかと勝手に思っています。僕はPHPから入ったのですが、ある程度基本事項をマスターした後も、オブジェクト指向だけは長い間苦手としてきました。(最近やっと慣れてきたところです。)  そこで伺いたいのですが、最初にやったプログラミング言語がオブジェクト指向だったという方、オブジェクト指向の概念は、 1.わかりやすかった 2.そこでつまずいた 3.特に意識せずに通り過ぎた 4.その他 いずれでしょうか? ※最初にJavaについて書きましたが、これはただの例なので、オブジェクト指向言語全般についての質問であるととらえてください。

  • オブジェクト指向モデルの抽象化について

    下記の設問について質問です。 設問:次の文が正しいか否かを答えよ 「オブジェクト指向モデルでは、抽象化の対象となるオブジェクトの操作をあらかじめ指定しなければいけない」 ~~設問以上~~ まず前提知識として抽象化というのはクラス、メソッドの名前だけを、 中身は何も書かないで予め宣言しておくことという理解でよいでしょうか。 その場合、上記「」内の文で誤っているところとしてはオブジェクト指向モデルでは抽象化は必ずしも必要ないから誤っているという理解でよいでしょうか。

    • ベストアンサー
    • Java
  • オブジェクトの生成について

    プログラムの勉強中です。オブジェクト指向でオブジェクトを生成するのに 以下のような複数の方法があるのですが、 何が違うのでしょうか。またどのようにして使い分けをしたらよいでしょうか。 Object obj1 = new Object(); Object obj2 = Object.Create(); Object obj3 = XXX.getObject();

    • ベストアンサー
    • Java