• ベストアンサー

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

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

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

  • ベストアンサー
  • root139
  • ベストアンサー率60% (488/809)
回答No.2

> new obj = new Test(); 確認ですが、 $obj = new Test(); var $obj = new Test(); などの typo という事で良いでしょうか? > objを Testオブジェクトと呼ぶのは間違っているのでしょうか? 間違っていないと思います。 > objは Testインスタンスと呼ぶのがやはり正しいのでしょうか? 実体という事を強調したい場合はそういう言い方をする場合が多いですが、「Testオブジェクト」という言い方が間違っているわけでは有りません。 オブジェクト指向の話題では、ほとんどの文脈で「オブジェクト」と「インスタンス」は同じ意味で使われると思いますよ。 ↓のページでもほとんど同じ意味で使っていますね。 http://www.php.net/manual/ja/language.oop5.basic.php また、下記のページにもある様に「オブジェクト」という単語はいろいろな意味で使われる事が有るので、混乱を避けるために「インスタンス」と言い換える事も有りますね。 http://ja.wikipedia.org/wiki/%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88 逆に(DBのインスタンス等の)クラス以外のインスタンスと混同しやすい文脈では、「オブジェクト」といったほうが明確になるときも有るでしょう。

ShiftTail
質問者

お礼

>実体という事を強調したい場合はそういう言い方をする場合が多いですが、「Testオブジェクト」という言い方が間違っているわけでは有りません。 間違っているわけではないのですね。 良かったです。 >下記のページにもある様に「オブジェクト」という単語はいろいろな意味で使われる事が有るので、混乱を避けるために「インスタンス」と言い換える事も有りますね。 時と場合によるのかな。とも思いました。 情報ありがとうございました。

その他の回答 (2)

  • anmochi
  • ベストアンサー率65% (1332/2045)
回答No.3

> new obj = new Test(); > > という一文は、 > > 「Testクラスのオブジェクト、objを作成している」という考えを持っています。 ここを「Testクラスのオブジェクトを作成し、それに対してobjという名前を付けている」あるいは「Testクラスのオブジェクトを作成し、objと書かれたポストイットをそれに張り付けている」という見方でプログラムを見ると今後のオブジェクト指向の考え方に一役買うのではと思っております。 > 「Testクラス を new して、objインスタンスを作成している」 こちらの言い方は私の中ではNGですな。○○インスタンスの○○はクラス名が入るべきだと思います。 「Testクラスをnewして、Testインスタンスobjを作成している」という言い方だとGood。 オブジェクト、クラス、インスタンスの表現の仕方はみんなまちまちなので人としゃべる時に意思の疎通ができれば問題ないかと。ちなみに私はオブジェクトという言葉は極力使わず、クラス(設計図)とインスタンス(設計図を基に作成された実体)という表現をします。

ShiftTail
質問者

お礼

>Testクラスをnewして、Testインスタンスobjを作成している」という言い方だとGood。 >オブジェクト、クラス、インスタンスの表現の仕方はみんなまちまちなので人としゃべる時に意思の疎通ができれば問題ないかと。ちなみに私はオブジェクトという言葉は極力使わず、クラス(設計図)とインスタンス(設計図を基に作成された実体)という表現をします。 なるほど。言葉一つでも結構難しいものですね。 参考にさせていただきたいと思います。 ありがとうございました。

  • osamuy
  • ベストアンサー率42% (1231/2878)
回答No.1

> objを Testオブジェクトと呼ぶのは間違っているのでしょうか? 間違ってないのでは。 > objは Testインスタンスと呼ぶのがやはり正しいのでしょうか? これも正しいです。 オブジェクトは広義の概念ですので、文脈を考慮する必要があります。 話し言葉の場合、文脈はspeakerやlistenerに応じますから、そういったことが不明な状態で質問しても明確な回答は得られないかと。

ShiftTail
質問者

お礼

>話し言葉の場合、文脈はspeakerやlistenerに応じますから、そういったことが不明な状態で質問しても明確な回答は得られないかと。 なるほど。ありがとうございます。 参考になりました。

関連するQ&A