タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

OOPに関するodzのブックマーク (8)

  • プロトタイプベースの誤解 - Smalltalkのtは小文字です

    クラスベースのOOとプロトタイプベースのOOで決定的に違うのは、プログラムを動かしている最中にオブジェクトが出来ること、すなわちメソッド(method)を追加したり再定義したりできるかだ。 404 Blog Not Found:タイプ・クラス・プロトタイプ - OOの語彙 これはひどい。w オブジェクトに対して動的(実行時)にメソッドやインスタンス変数を追加できることと、“プロトタイプベース”においてオブジェクトがそれが属するクラスによらず独自のメソッドやインスタンス変数を持てることとは別の話です。 あらためて、「プロトタイプベース」という用語自体に問題が多いことを実感させられる記事でもありますね。個人的には、クラスを用いないオブジェクト生成手法の話でないのならば(つまり、「プロトタイプの複製でオブジェクトを生成する」ことが話の筋でないならば)「プロトタイプベース」ではなく、「インスタン

    プロトタイプベースの誤解 - Smalltalkのtは小文字です
    odz
    odz 2008/04/13
  • オブジェクト指向とはなにか、カプセル化とはなにか - 神様なんて信じない僕らのために

    Exceptional C++ Styleの記述に非常に感銘を受けたので引用しておきます。 オブジェクト指向におけるカプセル化の位置づけ オブジェクト指向による設計とプログラミングにおいて、それはどれくらい重要か? カプセル化は、オブジェクト指向プログラミングの最重要概念である。以上。 ・カプセル化はほとんど常にデータ隠蔽を意味する。 ・仮想関数における実行時ポリモルフィズムは、基クラスによって提供されるインターフェースを、(コードが書かれた時点では存在する必要さえない)派生クラスによって提供される実装から完全に分離する。 ・テンプレートによるコンパイル時ポリモルフィズムは、インターフェースを実装から完全に分離する。必要な操作を持つクラスは、継承やその他の関係がなくても自由に交換して利用できる。 カプセル化が常にデータ隠蔽を意味するわけではないが、データ隠蔽は常にカプセル化の一種である。

    オブジェクト指向とはなにか、カプセル化とはなにか - 神様なんて信じない僕らのために
    odz
    odz 2007/04/10
    あとで
  • オブジェクト指向言語として必須な要素とは何か? - Smalltalkのtは小文字です

    ときどきの雑記帖 リターンズ -おしえて(OOPLの)えらいひと より。お呼びでない…とは思いましたが、私のこれまで調べたことを頭の中で整理するのに役立ちそうなので、できるだけ簡潔にまとめてみます。 ケイのオブジェクト指向(メッセージングのオブジェクト指向)に立脚する場合 このオブジェクト指向のコンセプト パーソナルコンピューティングに係わるものをメッセージングで表現。 それをサポートする言語に必須のもの メッセージング(あるいは、それに準ずる)機構と、メッセージのレシーバ(たいていは、オブジェクト。状態や処理の保持・保護・隠蔽を行なえることが期待される)。 原則として欠いてはいけない機能 可能な限りの動的性。 ストラウストラップのオブジェクト指向(ユーザー定義型のオブジェクト指向)に立脚する場合 このオブジェクト指向のコンセプト 抽象データ型(この文脈ではユーザー定義型を指す)を「クラス

    オブジェクト指向言語として必須な要素とは何か? - Smalltalkのtは小文字です
    odz
    odz 2007/01/15
  • Java や Objective-C におけるクラスの“振る舞い”で驚かされたこと - Smalltalkのtは小文字です

    タイトルのとおりの印象を持ったのをきっかけにして、Java や Objective-C の勉強を兼ねて調べてみたことをメモ。三さんと odz さんとのやりとりを見ていて、ちょっと関係することもあるかな…とも。 Smalltalk のクラスの“振る舞い” よく言われるように、Smalltalk ではクラスもオブジェクトです。このことは、クラスも別のクラス(俗に言うところのメタクラス)のインスタンスであり、また、メッセージのレシーバになることができることを意味します。 もっとも後者の「レシーバに云々…」については、ケイのオブジェクト指向かそれに準ずるオブジェクト指向に立脚したときに限る…との但し書きが必要でしょう。つまり、C++ や Eiffel、Java など、ストラウストラップのオブジェクト指向の強い影響下にある言語においては、そもそもメッセージングという概念はそぐわないので後者は無用と

    Java や Objective-C におけるクラスの“振る舞い”で驚かされたこと - Smalltalkのtは小文字です
    odz
    odz 2006/10/16
    クラスへの帰属とstaticについて
  • カレーなる辛口Javaな転職日記 - 間違ったオブジェクト指向

    http://d.hatena.ne.jp/scinfaxi/20060811/1155228714 とりあえずプログラミングにおいて、オブジェクト指向が役立つという「事実」は解った。じゃあ、具体的にどう役立つんだろうか。 一言で言えば,生産性や保守性の向上. 「実務的じゃない」って云われそうだけれど、関数型言語に馴染んだ人間にとってはオブジェクト指向*1ってのは何かひどく遠回りなやりかたをしているように思える。 たしかにLISPなどは古い言語であると共に非常に先進的な言語でもあるらしいけれど,関数型とオブジェクト指向って直行した概念じゃなかったっけ? 自分が知っているオブジェクト指向のいいところはメソッドや演算子のオーバーロード。 いや,おそらくそれらはいずれも質ではない.*1 Java の入門書を読んだ程度しかないので、こうやって批判するのもアレだけど、 うーん,残念なことに,入門書

    カレーなる辛口Javaな転職日記 - 間違ったオブジェクト指向
    odz
    odz 2006/08/12
  • はてなブログ | 無料ブログを作成しよう

    恋人と別れて30年が過ぎ、その元恋人の娘と出逢う夜 古い友人であるShellyからメッセージが届いた。「私の娘のAdrienneが日に行くのだけれど、時間取って彼女と会ってくれるかしら?」 Shellyはアメリカ在住の白人女性だ。Shellyと俺との関わり合いは、過去に書いた。こちらを参照のこと。25歳に戻れた夜~ブライアン・…

    はてなブログ | 無料ブログを作成しよう
    odz
    odz 2006/08/12
    後で何か書くかも
  • OOエンジニアの輪!

    [OOエンジニアの輪!] OOエンジニアの輪! 第1回 友野 晶夫 さんの巻 第21回 川合 史朗 さんの巻 第41回 arton さんの巻 第2回 藤野 晃延 さんの巻 第22回 佐藤 隆 さんの巻 第42回 黒枝 真(makotan) さんの巻 第3回 青木 淳 さんの巻 第23回 倉橋 浩一 さんの巻 第43回 和田卓人 さんの巻 第4回 大島 芳樹 さんの巻 第24回 加藤 康之 さんの巻 第5回 長瀬 嘉秀 さんの巻 第25回 結城 浩 さんの巻 第6回 平鍋 健児 さんの巻 第26回 鷲崎 弘宜 さんの巻 第7回 金澤 典子 さんの巻 第27回 榊原 彰 さんの巻 第8回 杉浦 英樹 さんの巻 第28回 和田 周 さんの巻 第9回 福富 三雄 さんの巻 第29回 鈴木 純一 さんの巻 第10回 戸松 豊和 さんの巻 第30回 小野沢 博文 さんの巻 第11回 青木 保一 さんの

    odz
    odz 2006/02/05
  • 1