2007年04月01日
c++ が分かる人向けオタク向け
ちょっと一般受けはしない説明なのですが。技術者向け、というか、オタク向けです。オタクでないあなたは、読み飛ばしてください。
c++ などに代表される Object Oriented 型の開発言語には、class とか instance という概念がありますね。
話は飛躍します。ついてきてくださいね。
dog は、class
a dog は、instance
the dog は、reference
ですね。
dog を、animal などの class を継承して dog という動物を特徴付けした class だと定義できます。定義の詳細な仕方は、ここでは議論しません。
a dog は、class である dog を具現化したものであり、まさに一匹の犬なわけです。話にでてくる一匹の犬かもしれないし、昨日見つけた一匹の犬かも知れないし、来月から飼う予定の一匹の犬かもしれません。
"I have a dog."
と言えば、 dog という class で定義された生き物、つまり犬を、一匹飼っている(持っている, have している)ということになります。 a dog は、具体的な一匹ですね。友達が:
"What is the name of the dog?"
と聞いてくるかもしれません。その時の、 the dog は、先ほど具体化した a dog ( つまり私の飼っている犬)を指す reference または pointer です。英語的には、前後関係でそれがはっきりしていれば it でも okay です。で、そのとき、その犬の名前を聞きたいとして:
"What is the name of a dog?"
と誰かが聞いてきたら、それは間違いです。 C++ programing でも、一度、出現した、具体化( instance ) したものを、それ以降に参照する場合は、reference を使いますよね。ここでもし再度 instance してしまうと、それ同じ class の別物になってしまいます。別の犬です。だから:
"What is the name of a dog?"
を言うと、まったく別の犬の話をしていることになるので、質問された犬は、
"Which dog ?"
という風に、話がかみ合わなくなります。 会話の中の、bug ですよ、bug。同じものは、一度しか instance しません。英語的に言うと、同じものは、一度だけしか a を使って紹介( instance ) しません。話題にでてきた後は、二度と a を使いません。
もちろん、人間ですから、instance したこと、話題に出たことを忘れることがあります。だから、そのときは、また、
"I have a dog, did I tell you that?"
とか、言うかもしれませんが。
"Yeah, I heard that before."
でも、 a fatal error ではないので、会話としては成り立つでしょう。誤解の確認をして、修正をする作業が入るだけです。会話なんて、そんな修正だらけのものなので、間違いはあまり気にしないでよいですがね。
ほら、すこーしオタク向けでしたね。そんな私は、ちなみに、C++ はかけません。オタクじゃないもんね。
Thanks for clicking on for 人気ランキング!
c++ などに代表される Object Oriented 型の開発言語には、class とか instance という概念がありますね。
話は飛躍します。ついてきてくださいね。
dog は、class
a dog は、instance
the dog は、reference
ですね。
dog を、animal などの class を継承して dog という動物を特徴付けした class だと定義できます。定義の詳細な仕方は、ここでは議論しません。
a dog は、class である dog を具現化したものであり、まさに一匹の犬なわけです。話にでてくる一匹の犬かもしれないし、昨日見つけた一匹の犬かも知れないし、来月から飼う予定の一匹の犬かもしれません。
"I have a dog."
と言えば、 dog という class で定義された生き物、つまり犬を、一匹飼っている(持っている, have している)ということになります。 a dog は、具体的な一匹ですね。友達が:
"What is the name of the dog?"
と聞いてくるかもしれません。その時の、 the dog は、先ほど具体化した a dog ( つまり私の飼っている犬)を指す reference または pointer です。英語的には、前後関係でそれがはっきりしていれば it でも okay です。で、そのとき、その犬の名前を聞きたいとして:
"What is the name of a dog?"
と誰かが聞いてきたら、それは間違いです。 C++ programing でも、一度、出現した、具体化( instance ) したものを、それ以降に参照する場合は、reference を使いますよね。ここでもし再度 instance してしまうと、それ同じ class の別物になってしまいます。別の犬です。だから:
"What is the name of a dog?"
を言うと、まったく別の犬の話をしていることになるので、質問された犬は、
"Which dog ?"
という風に、話がかみ合わなくなります。 会話の中の、bug ですよ、bug。同じものは、一度しか instance しません。英語的に言うと、同じものは、一度だけしか a を使って紹介( instance ) しません。話題にでてきた後は、二度と a を使いません。
もちろん、人間ですから、instance したこと、話題に出たことを忘れることがあります。だから、そのときは、また、
"I have a dog, did I tell you that?"
とか、言うかもしれませんが。
"Yeah, I heard that before."
でも、 a fatal error ではないので、会話としては成り立つでしょう。誤解の確認をして、修正をする作業が入るだけです。会話なんて、そんな修正だらけのものなので、間違いはあまり気にしないでよいですがね。
ほら、すこーしオタク向けでしたね。そんな私は、ちなみに、C++ はかけません。オタクじゃないもんね。
Thanks for clicking on for 人気ランキング!
Posted by kazunobu toguchi at 12:49│Comments(0)
│英語を使う