タグ

関連タグで絞り込む (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
  • はてなブログ | 無料ブログを作成しよう

    京都市の美味しいパティスリーを紹介したい 前編(北側エリア) こんばんはぁ、ぺのぽすです 京都大学に入学してそろそろ4年目、趣味のパティスリー巡りをしてて気づいたことがあります。 京都市のパティスリー、レベル高すぎ!! 京都市はホントどこに行ってもで~~ら美味しいパティスリーがあり大体の観光、ご飯のついでに激ウマ…

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

    オブジェクト指向技術者の方々に毎回お話を伺いながら、次のゲストも紹介していただこうというインタビュー。10年に渡り43回のインタビューを実施、総勢44名もの方々からお話を伺うことができました。

    OOエンジニアの輪!
    odz
    odz 2006/02/05
  • 1