あなたたち、オブジェクトとかインスタンスとか…
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2007/01/14(日) 18:08:38オブジェクトの別名がインスタンスなんじゃなくて
クラスをインスタンス化したオブジェクトをインスタンスと言うんだからね!
勘違いしないでよね!!
0159デフォルトの名無しさん
2007/01/16(火) 07:19:3940年前のものを引っ張り出されてコレが定義たといわれても・・・・
言葉の意味なんて時とともに変化していくモンしょw
いまオブジェクト指向の第一人者だって40年前は一般利用者。
発想が未だにコボルしかやったことの無いコボラーと同じw
0160デフォルトの名無しさん
2007/01/16(火) 07:28:47一人でもともとの定義はとかぶつぶつ言うタイプだろ
0161デフォルトの名無しさん
2007/01/16(火) 07:46:38>>158のはだからどうした? 以外の感想は持てないなあ。
その由来が現在の定義にどう影響してくるかまるで書いてないじゃない。
「どうだおまえら知ってるか」程度の情報じゃあね。
ま、現在の状況がキャッチアップできてないんだろうけどもね。
0162デフォルトの名無しさん
2007/01/16(火) 12:27:15「純粋」の意味は、誰のどんな「オブジェクト指向」に乗っかるかによると思う。
Smalltalkはともかく、いろんな言語のイイトコどりのRubyが純粋だなんてことはありえない。
Rubyなんかより、後述の後者においてならJavaのほうがよっぽど“純粋”だ。
一般には、「オブジェクト指向」(特に「〜プログラミング」において)で代表的なのは、
* アラン・ケイの「メッセージングによる表現や設計」
* ビヤーネ・ストラウストラップの「ユーザー定義型をクラスを使って実現する手法」
前者はいわゆる「オブジェクト同士がメッセージをやりとりして…」とかいうやつで、
後者はいわゆる「カプセル化、継承、ポリモーフィズム」に象徴される(メイヤーとかも原則こちら)。
両者は教科書レベルでもごっちゃにされているけれど、本来は出自も切り口も頓着する点も異なる。
「良質」のOOPLかどうかの言語間宗教戦争みたいなのも、どちらに軸足を置くかという違いに過ぎない。
158の言いたいのは、たぶん前者の「オブジェクト指向」における「オブジェクト」の要件。
つまり、オブジェクトとは、メッセージの「レシーバ」でなくてはならない…と。
後者の立場ではそんなのは関係なくて、再三出てきているようにクラスの「インスンタス」であればよい。
それと、後者の「オブジェクト指向」では、すべてがオブジェクトである必要はない。
むしろ、クラスにより定義した新しいユーザー定義型が、基本型と同様、安全かつ普遍的に使えることが重要。
0163デフォルトの名無しさん
2007/01/16(火) 12:44:290164デフォルトの名無しさん
2007/01/16(火) 12:54:11↓クラスのインスタンス化
俺のチンコ 嫁のマンコ=インスタンス
チンコ マンコ 俺のチンコ 嫁のマンコ お前のチンコ 幼女のマンコ = オブジェクト
おなにー セクロス=メソッド
0165デフォルトの名無しさん
2007/01/16(火) 13:04:28オブジェクトからインスタンスになる過程をインスタンス化みたいな言葉で
表現できればすっきりする。
むしろ日本語の方がこのへん得意なんじゃね?
クラス→(実体化)→オブジェクト
オブジェクト→(実態化)→インスタンス
実体化はnew演算子で明示的に理解できるけど、オブジェクト→インスタンスの過程はよくわからないよね。
車が「走る」状態は、時速何キロメートル以上の速度で移動している状態とかそのへん定義できないと。
「うさぎと亀は永久にゴールできない」とかの数学者の偏屈にマジレスできるレベルじゃないと理解することは難しい。
0166デフォルトの名無しさん
2007/01/16(火) 13:13:45日本はかつてアメ車をクラスとして日本車を作った
クラス=アメ車
オブジェクト=日本車
現在は特アが日本車をクラスとして特ア車を作り始めている
クラス=日本車
オブジェクト=特ア車
つまり日本車はオブジェクトでもあり、クラスでもある。
また、自動車の起源はヨーロッパであるので、そういう意味ではアメ車はオブジェクトであり、
特ア車は将来アフリカやアジア諸国で参考にされた場合、クラスとなり得る可能性もある。
0167デフォルトの名無しさん
2007/01/16(火) 13:20:04またオブジェクトの別名がインスタンスであると仮定すると、本質的には
オブジェクト=インスタンス
よって
クラス=インスタンス //
ん?
0168デフォルトの名無しさん
2007/01/16(火) 13:39:36出席番号1番というインスタンス。
0169デフォルトの名無しさん
2007/01/16(火) 13:42:36どの市販本もオブジェクトとクラスとインスタンスの違いを説明しているが、かなり適当だ。
そのうちわかるよ、みたいな感じだ。
確かに、そのうちわかってくるが、わからない人は何年もわからないまま放置されることもあるだろう。
0170デフォルトの名無しさん
2007/01/16(火) 13:58:50数学で微分でも、微分の定義を初めから説明しても分かるはず無いし。
y=2x^2
y'=4x
とか、とりあえず練習問題の数こなしてその後に改めて定義を見ると
理解しやすいし。
0171デフォルトの名無しさん
2007/01/16(火) 14:04:14インスタンス:製品
それらはオブジェクト(物体)と言えます、じゃいかんの?
0172デフォルトの名無しさん
2007/01/16(火) 14:17:30クラス=オブジェクトの仕様みたいの
オブジェクト=クラスの実体化したもの(メモリー中にその実体のための個別の領域が割り当てられている)
インスタンス=(メモリー中などに)存在しているオブジェクトのメンバの変数の状態までを考慮したもの
一般的には
オブジェクト=インスタンス=クラスの実体化したもの
で十分
0173デフォルトの名無しさん
2007/01/16(火) 15:02:23> 俺は>>155じゃないが…
> まず、Smalltalk-72が35年前、Simula67なんて40年前にできてるのに、なんでオブジェクトの説明にデザインパターン>>141が出てくるんだ?
> メモリだって磁気コアメモリの時代にヒープ?スタック?
> スタックレジスタもないのにスタックと言われても…
古臭w
何時の時代の話だよw >>141のどこにデザインパターンが出ているんだw
Java基準で十分なんだよ。今はオブジェクト指向といえばJavaと言われている時代なんだから。
UMLの用語もJava用語を基準に策定されている。
0174デフォルトの名無しさん
2007/01/16(火) 15:03:41ヒュンダイ(現代)や中国のパクリ車両みたいな糞車両を想像したじゃねえかw
0175デフォルトの名無しさん
2007/01/16(火) 15:07:50静的なもの
クラス
動的なもの
(1) 今まさに動的なものに変わった瞬間 インスタンス
(2) とっくに動的してますが、なにか? オブジェクト
0176デフォルトの名無しさん
2007/01/16(火) 16:37:330177デフォルトの名無しさん
2007/01/16(火) 17:08:45UMLは標準の統一モデリング言語なんだから
UMLの基準に沿うべきで
プロトタイプベースオブジェクト指向の考え方は無視すべき
0178158 ◆OO/OVgtJP.
2007/01/16(火) 19:45:23あえて言えば、JavaやUMLならオブジェクト=クラスでしょう。
クラスベースでクラス=非オブジェクトの考えなら、そのオブジェクト指向の土台が崩れるでしょう。
もし、考えは関係なく、「オブジェクト」の文字だけが重要なら、
ファーストクラスオブジェクトもオブジェクトになってしまうでしょう。
しかも、クラスのオブジェクトでしょう。
ちなみに、@ITのファーストクラスオブジェクトの説明は、新説の誕生でしょう。
0179デフォルトの名無しさん
2007/01/16(火) 21:12:53> >>176-177
> あえて言えば、JavaやUMLならオブジェクト=クラスでしょう。
そんな大嘘はいかん。JavaやUMLにはそんなもんない。
0180デフォルトの名無しさん
2007/01/16(火) 21:16:51ネオと戦う大量のスミスたちは元となったスミスのインスタンスという名のオブジェクト。
0181デフォルトの名無しさん
2007/01/16(火) 21:18:040182デフォルトの名無しさん
2007/01/16(火) 21:18:20Class clazz = Object.class
Object o = new Object();
「クラスは(is a)オブジェクトである」
「インスタンスは(is a)オブジェクトである」
てわけ。
0183デフォルトの名無しさん
2007/01/16(火) 21:18:41もっとわかりやすくちんことまんこで例えてよ
0184デフォルトの名無しさん
2007/01/16(火) 21:18:54ネオのクラスは スミスのインスタンスとして上書きされたが、
スミスのインスタンスとなったネオは、スミス本体のクラスにアクセスし、そのクラスを削除したことにより、
大量のスミスのインスタンスオブジェクトは マトリックスから姿を消した。
0185デフォルトの名無しさん
2007/01/16(火) 21:21:36叔母とか従姉は死なないんじゃないの?
スミスっていきなり母叔母従姉のスーパープレイしやがったの?
うらやましすぎじゃね?
0186デフォルトの名無しさん
2007/01/16(火) 21:22:32↓
影分身の術
↓
インスタンス ナルト = インスタンスオブジェクト
0187デフォルトの名無しさん
2007/01/16(火) 21:25:430188デフォルトの名無しさん
2007/01/16(火) 21:28:53JAVAじゃね?w
っかインスタンスオブジェクトって便利だよなぁ。
BASIC房な俺は配列変数を駆使しまくりんぐww
0189デフォルトの名無しさん
2007/01/16(火) 21:30:48マジかよ裏ルート君
JAVAで理解できなければ救いようが無いって事かよ
ざけんじゃねえよ
0190デフォルトの名無しさん
2007/01/16(火) 21:33:09これが何を言ってるのか全く分からない by script系言語使い
0191デフォルトの名無しさん
2007/01/16(火) 21:33:55ttp://www.atmarkit.co.jp/fjava/rensai2/javaent04/javaent04.html
>>「電気製品」クラスを継承して 〜(中略)〜 「カラーテレビ」クラスを作る
>>特にどの本というわけではないのですが、
>>どうしてこういう例え話が出てきてしまうのか、
>>私にはさっぱり分かりません。
>>クラスの概念を哲学用語か何かのように説明するの
>>はいいかげんやめにしてほしいものです。
いまから始めたので見ているサイトなんですが
すごい断言しているんですが
この考えでいいんでしょうか?
0192デフォルトの名無しさん
2007/01/16(火) 21:38:290193デフォルトの名無しさん
2007/01/16(火) 21:40:04間違いじゃないからいいんじゃないの?
初学者は逆に言いきってる感じの文献参考にした方がとっつきやすいだろうし。
ただ、厳密な意味では違う場合もあるということを頭の片隅にいつも置いておくことは必要。
そういう可能性を無視して我が道を行きすぎると、頭の硬いプログラマーになる。
お薦めとして、初学の場合はサイトで勉強するより本で勉強するべき。
俺の経験上の話だけど、定着度が明らかに違う。
0194デフォルトの名無しさん
2007/01/16(火) 21:40:34その後メモリの使い方で説明してんのな。余計わかんねーよタコwwwwwww
初心者(オブジェクト指向って何?レベルの人)にはカラーテレビ云々の説明でおkだと思う
0195デフォルトの名無しさん
2007/01/16(火) 21:43:29そのサイトで分かりやすい人と、哲学用語でわかりやすい人といると思う。
でも多分そのサイトで分かりやすい人はオブジェクト指向自体向いていないと思う。
0196デフォルトの名無しさん
2007/01/16(火) 21:46:46ほれ。これでわからなかったらマトリックスみなさいww
0197デフォルトの名無しさん
2007/01/16(火) 21:49:19ただ初心者や純粋にJAVAだけの人にはわかりにくいというか、興味わかないだろうね
0198デフォルトの名無しさん
2007/01/16(火) 21:52:200199デフォルトの名無しさん
2007/01/16(火) 21:52:49俺もはじめはそういう類の間違いしてた。
0200191
2007/01/16(火) 21:55:34そうなれるように努めます。
>>193
基本、初心者本で学んでますが、本ではほとんどTVの話でした。
それを全部ぶっ壊せというセンセーショナルな台詞に
ふと目線を奪われました。
>>195
・・・このサイトがわかりやすと思ってしまいました。
>>196
Smith&Neoと加えて前述のチンコの話が結構気に入りました。
ありがとうございます。
0201デフォルトの名無しさん
2007/01/16(火) 21:56:58ネオはインスタンス作らないで クラスオブジェクトとして インスタンススミスと 戦ってます。
>>199
まじか。んじゃ実際なんなんだ??
0202デフォルトの名無しさん
2007/01/16(火) 21:58:420203デフォルトの名無しさん
2007/01/16(火) 22:02:52ネオとスミスの違いは基本的には属性の設定値だけ。
スミスの増殖は、インスタンスに対してcloneメソッド呼んでる感じ。
0204デフォルトの名無しさん
2007/01/16(火) 22:05:22ごめん。今古本屋で300円で買ったJAVAの本読んできた。
ネオとスミスはインターフェースで、 そのネオとスミスの【独立した操作】がクラスだな。
>>202
kwsk
0205デフォルトの名無しさん
2007/01/16(火) 22:05:52ネオ、スミスの設計図=DNAみたいなもの?が、クラスなんじゃねーの?
というか、人間とか、絶対プログラムできないもので喩えるのはよくない気がする。
0206デフォルトの名無しさん
2007/01/16(火) 22:07:22操作があらたな未定義述語になってるけど?さらに状況を複雑にする気か?w
0207デフォルトの名無しさん
2007/01/16(火) 22:09:310209デフォルトの名無しさん
2007/01/16(火) 22:11:22なるほど!!
と思えるのはUnix系OSかじってる人くらいだなw
CとメモリとUnix系OSの知識がそこそこあれば面白い
0210デフォルトの名無しさん
2007/01/16(火) 22:11:430211デフォルトの名無しさん
2007/01/16(火) 22:12:250212デフォルトの名無しさん
2007/01/16(火) 22:18:14オブジェクト指向の、「オブジェクト」ってのは常に
見る人目線で考えればいいんだよ。
極端な話、人間クラスつってもこれで十分(なときがある)
class Human {
public String name;
}
0213デフォルトの名無しさん
2007/01/16(火) 22:19:190214デフォルトの名無しさん
2007/01/16(火) 22:25:54そういう、本来人間という名前を与えるべきでないものを、
その場限りの見方で、人間と呼んでしまうことが、学習者に対して
障害になってる気がする。
もっと、ちゃんと計算機能を持った計算機とか、
掲示板機能をもった掲示板とかで例を示してあげれば、
関数を理解するのとほぼ同じ感覚で理解できるようになるのでは?と思う・・
0215デフォルトの名無しさん
2007/01/16(火) 22:27:29わかって無いのにわかったつもりになってしまうし、しかも肝心なところが全然的外れ。
0216デフォルトの名無しさん
2007/01/16(火) 22:34:450217デフォルトの名無しさん
2007/01/16(火) 22:36:37僕の肛門も拡張されそう。
0218デフォルトの名無しさん
2007/01/16(火) 22:38:18>本来人間という名前を与えるべきでない
ってのがオブジェクト指向的でない気がするんだけど。
0219デフォルトの名無しさん
2007/01/16(火) 22:39:27JAVAだとクラスの付属品みたいな印象だけど、
一般的なPC用語じゃ各種入出力装置やディスプレイだったり
かと思えばAPI的な事だったり、意味派生しすぎ。
PC業界って、基本ボキャ貧なのか?
0220デフォルトの名無しさん
2007/01/16(火) 22:42:36インタフェースは、インタフェースを実装するクラスにとっては何の役にもたたないけど
そのクラスを外から使うやつが使いやすくなる。
つかオブジェクト指向全般にいえるのけど「〜〜する相手」を「扱いやすくする」技術といってよい。
0221デフォルトの名無しさん
2007/01/16(火) 22:49:43そんなことねーよものすげー厳密かつ明瞭だよ。
「2つをつなぐもの」
0222デフォルトの名無しさん
2007/01/16(火) 22:49:58すごいわかりました。
ありがとう。
0223デフォルトの名無しさん
2007/01/16(火) 22:50:32オブジェクト指向的って何?・・・
それぞれのクラスには本来与えるべき名前があると自分は思っていますが?
>>212
のHumanの例だったら、MyStringとかそういう名前以外はおかしいと思う。
なぜなら、Stringを一個記憶するだけのクラスは素のStringとほぼ同じだけの
機能しかもっていないから。
それをHumanと呼んでしまうのは、はっきり言って「人間は名前だけで決まる」
みたいなかなり無理のある比喩が入りすぎてる気がする。
比喩が入ってること自体は全然かまわないけど、初心者に最初に見せる例と
してはすごく不適切だと思う。
0225デフォルトの名無しさん
2007/01/16(火) 22:54:07ほいほいこれみれ。
スミスよりわかりやすいぞ。
0226デフォルトの名無しさん
2007/01/16(火) 22:56:200227デフォルトの名無しさん
2007/01/16(火) 22:57:35(・∀・)イイ!!
0228デフォルトの名無しさん
2007/01/16(火) 22:59:02>それぞれのクラスには本来与えるべき名前があると自分は思っていますが?
コレって、アーキテクチャつか実装よりのクラスの話なら同意なんだけど
ドメインレイヤのクラスつくってるときに、Stringを一個記憶するだけのクラスといっても
MyStringって名づけるのはおかしいよな?
0229デフォルトの名無しさん
2007/01/16(火) 23:12:390230デフォルトの名無しさん
2007/01/16(火) 23:23:37Javaだけとは限らない。C#などにもある。
staticに対してインスタンスという表現もある。
staticフィールド'(クラス変数)、インスタンスフィールド(インスタンスメンバ変数)。
staticメソッド(クラスメソッド)、インスタンスメソッド
0231デフォルトの名無しさん
2007/01/16(火) 23:24:00UMLはJavaで理解することを前提に設計されているわけだが
0232デフォルトの名無しさん
2007/01/16(火) 23:24:36オブジェクト指向の世界ではむかしからそうだ
0233デフォルトの名無しさん
2007/01/16(火) 23:25:12ワロス
0234デフォルトの名無しさん
2007/01/16(火) 23:28:11スミスとネオはオブジェクト
アバターや人間がクラス。
ネオをクラスにしたければ、シングルトンクラスになる。
0235デフォルトの名無しさん
2007/01/16(火) 23:28:56cloneというか他人をpaste, overwriteしてるみたいな
0236デフォルトの名無しさん
2007/01/16(火) 23:30:22デザインパターンの本を読めば解るし
UMLを勉強すればわかる
0237デフォルトの名無しさん
2007/01/16(火) 23:37:58あなたに染められオーバーライド
0238デフォルトの名無しさん
2007/01/16(火) 23:40:36作詞・作曲 ム板の2chネラー
0239デフォルトの名無しさん
2007/01/16(火) 23:41:02ちなみに インターフェースは 「人間」
0240デフォルトの名無しさん
2007/01/16(火) 23:48:360241デフォルトの名無しさん
2007/01/17(水) 00:11:53結論でたー?
0242デフォルトの名無しさん
2007/01/17(水) 00:12:26対有機生命体用ヒューマノイド・インターフェースには
主に、『長門有希』『朝倉涼子』『喜緑江美里』・・・等、多数のクラスが存在する。
別の時間平面上に存在する自分に対し、記憶を共有することが可能。ただし、情報統
合思念体にアクセス許可を申請し、許可を貰わないと行えない。ただし、長門有希は時
空改変以降、同期を行うことを自主的に禁止を行った。
>>240
インターフェースが『人間』なら。変わらない。
0243デフォルトの名無しさん
2007/01/17(水) 00:14:26オブジェクト=インスタンス
0244デフォルトの名無しさん
2007/01/17(水) 00:17:100246デフォルトの名無しさん
2007/01/17(水) 00:26:13ちがうよ。
0247デフォルトの名無しさん
2007/01/17(水) 00:27:04243じゃないが 一般的にオブジェクトだけだと インスタンス オブジェクトを 差すらしい。
クラスオブジェクトもあるわけだが。
0248デフォルトの名無しさん
2007/01/17(水) 00:27:570249デフォルトの名無しさん
2007/01/17(水) 00:28:59困る事例とかある?
0251デフォルトの名無しさん
2007/01/17(水) 00:29:550252デフォルトの名無しさん
2007/01/17(水) 00:33:34オレは指さんな
0253デフォルトの名無しさん
2007/01/17(水) 00:35:00じゃあ何を指すの?
0254デフォルトの名無しさん
2007/01/17(水) 00:35:130255デフォルトの名無しさん
2007/01/17(水) 00:36:010256デフォルトの名無しさん
2007/01/17(水) 00:36:230257デフォルトの名無しさん
2007/01/17(水) 00:37:280258デフォルトの名無しさん
2007/01/17(水) 00:38:09■ このスレッドは過去ログ倉庫に格納されています