webかたつむり ウェブデザインを勉強中 ウェブ初心者のおぼえがき

webかたつむり

WEB制作会社のフォトグラファー

オブジェクト指向 ソフトウェア

Jeff Goodell : そもそもオブジェクト指向ソフトウェアとは何か、簡単な用語で説明していただけますか?

Steve Jobs : オブジェクトとは人間のようなものだ。生きていて、何をどうすべきかという知識を自分の中に取り込み、物事を覚えていられるようにメモリーを持っている。非常に低いレベルの抽象度で彼らとやりとりをするというよりは、僕たちが今ここで話しているように、非常に高い抽象性を持って交流するものだ。

例えばこんなことだ。もし僕が君の洗濯屋(laundry)オブジェクトだとすると、君は僕に汚れ物を渡し、「服を洗濯してくれ」とメッセージを送ることができる。たまたまサンフランシスコで一番いいクリーニング屋がどこかを僕は知っている。僕は英語をしゃべり、ポケットにはお金も入っている。僕はタクシーを拾い、運転手にサンフランシスコのその場所へ行ってくれと伝える。服が洗濯されたらタクシーに飛び乗り、ここに戻って来る。きれいになった服を君に渡して「こちらが洗濯済みの服です」と僕は言う。どうやって僕が洗濯したかは君はわからない。クリーニング屋の場所もわからない。もしかしたら君はフランス語しかしゃべれなくて、タクシーを捕まえることもできないかもしれない。ポケットにはドルが入ってなくて代金を払えないかもしれない。一方で僕はやり方を全部知っている。君はそのやり方を知る必要はないんだ。すべての複雑なことは僕の中に隠されていて、僕たちは非常に高い抽象度でやりとりができる。これがオブジェクトが何かということだ。複雑さをカプセル化し、その複雑な部分とのインターフェースは高レベルなものなんだ。