タグ

oopに関するsnsn9panのブックマーク (3)

  • OOコード養成ギブス - rants

    Binstock on Software: Perfecting OO's Small Classes and Short Methods The Pragmatic Programmersシリーズの新しい、The ThoughtWorks Anthologyの中に 興味をそそるエッセイがある。Jeff Bayの"Object Calisthenics"だ。 これは良いオブジェクト指向の性質を実証する小さなルーチンを書く方法をマスターするための 詳細にわたるエクササイズだ。オブジェクト指向なルーチンを書く能力を向上させたい開発者がいるなら このエッセイに目を通すことを勧める。ここにBayのアプローチを要約してみよう。 彼は次にあげられる制約のもとに1000行のプログラムを書くことを勧めている。 これらの制約は意図的に過剰な制限となっているが、これは開発者を手続き的なやり方から脱却させるた

    OOコード養成ギブス - rants
    snsn9pan
    snsn9pan 2008/07/31
    練習でやる分にはこれくらいルールがあったほうが楽しい。
  • private継承はどう使う?

    > 基底クラスの段階でのprivateと継承してからの段階でprivate > 扱いになるのとでは意味が違うのでしょうか? 継承時のアクセス制限は、いうなれば「継承する側の都合」なので、 「継承する自分自身を"呼ぶクラス"や自分自身より"下位の派生クラス"」に影響します。 privateで継承したクラス自身はこの影響を受けずに、 自分自身は基底クラスの方の影響だけを受けるということです。 定義も派生する側に書きますよね。 同じ基底クラスからでも継承するクラス毎に別設定できるということです。 # なので、他のクラスの一部実装だけを流用するためにprivateで実装継承なんてこともありえるのです。 # publicで継承すると余計なインターフェイスまで取り込んじゃいますが、 # privateなら内部で利用するだけですから余分なものがあっても自分が使うだけで、外には漏らしません。 # (pri

    private継承はどう使う?
    snsn9pan
    snsn9pan 2008/01/12
    No.3の人の解答がわかりやすく的確。using宣言でアクセス制限を解除できることに触れてれば尚良かった。
  • いまさらながらだけど、オブジェクトとクラスの関係を究めてみようよ - 檜山正幸のキマイラ飼育記 (はてなBlog)

    オブジェクトとクラスの関係について、次のような説明を見かけました(文言の引用ではなくて、檜山による要約)。 オブジェクトとクラスは全体としてツリー構造をしていて、ツリーの末端をオブジェクト、末端以外のノードをクラスという。末端であるオブジェクトは、その親ノードであるクラスのインスタンスと呼び、クラスどおしの親子関係を継承関係と呼ぶ。 うーむ、この説明、ある意味「簡潔でわかりやすい」とも言えるのだけど、ちょっと単純化し過ぎでしょ。 オブジェクトやクラスの概念て、そんなに美しくもなきゃ、整合的でもありません。実用性やら実装上の都合やらでゴチャゴチャですがね。しかし、そのゴチャゴチャが悪いともいえません。ゴチャゴチャを無理に単純化することなく、必然性を持った(幾分は偶発的だけど(苦笑))複雑さとして理解すべきかと思います。 というわけで、メタクラスやレイフィケーション(reification)な

    いまさらながらだけど、オブジェクトとクラスの関係を究めてみようよ - 檜山正幸のキマイラ飼育記 (はてなBlog)
    snsn9pan
    snsn9pan 2008/01/09
    素晴らしくわかりやすい。このタワー的考え方が頭にあれば絶対にオブジェクトとクラスを混同することは無い。
  • 1