タグ

OOPに関するt-satのブックマーク (8)

  • ドラゴンボールで学ぶオブジェクト指向 改 - 達人プログラマーを目指して

    ドラゴンボールといえば、大変に人気の高い国民的、いや世界的な漫画、アニメですが、昨日匿名ダイアリーでドラゴンボールをネタにしたオブジェクト指向の解説がホッテントリに入っていました。 ドラゴンボールで学ぶオブジェクト指向 多くの人に親しみやすい題材でオブジェクト指向の考え方を解説するというのは非常に興味深い試みなのですが、オブジェクト指向の説明としては不適切なところがあり、ちょっと残念な内容になっています。私自身ドラゴンボールの専門家(ドメインエキスパート)ではないため、不正確なところがあるかもしれませんが、ストーリーを思い出しながら、私なりにドラゴンボールをネタとしたオブジェクト指向の解説にリトライしてみたいと思います。 なお、オブジェクト指向でもプログラミング言語によって表現できる内容が異なるため、当然設計技法は違ってきます。ここではJavaC++、C#、Visual Basicといっ

    ドラゴンボールで学ぶオブジェクト指向 改 - 達人プログラマーを目指して
    t-sat
    t-sat 2011/03/18
    おもすろい。
  • Rubyのメタクラス階層について再び - 世界線航跡蔵

    承前 。 3ヶ月ばかり時間が空いてしまったけれども、 sumimさんの記事 に答えたいと思います。 yugui さんの図は、たしかにクラスと特異クラス(メタクラス)が揃って並んでいて見た目にはきれいなのですが、これだとクラスが整然と並んでこそいるものの、肝心のメタ階層がどうなっているかという情報のほうは、正直なところ、いささか得にくいものになってしまっています。 いいえ、これで良いのです。なぜって? これが私の図(下記再掲)で一番言いたかったことで、ただ、一般のメタクラスと#<Class:Class>を並べているのはいただけないかな。これはsumimさんのSmalltalk版の図を意識しすぎて、まずかったかなと思います。 図1: うん、やっぱり メタ階層がどうなっているかという情報のほうは、正直なところ、いささか得にくいものになってしまっています。 これは当たってるかもしれません。 図の修

    Rubyのメタクラス階層について再び - 世界線航跡蔵
  • 自己流オブジェクト指向&Java参考書 『非』お勧め版 - カレーなる辛口Javaな加齢日記

    お奨めリスト*1と対をなす,非お勧め版の入門書・参考書リスト.*2 あくまで『非』お勧めの、駄、屑リストである点に注意。しかし皮肉な話だが,初心者を惑わす入門書を避けるためにも要チェックだろう. 主に「何故か有名だけど悪い」を取り上げる予定.「無名だけど悪い」はきりがないので,ここではパス.結果として持ってないが中心になるので詳細について触れるつもりはない.*3 「オブジェクト指向」 実は「オブジェクト指向」というのは,あまり専門的な用語ではない.*4オブジェクト指向プログラミング(OOP),オブジェクト指向設計(OOD),オブジェクト指向分析(OOA)などと,きちんと区別すべきだ.ただ口頭で話す時は「オブジェクト指向プログラミング」と言うのは冗長だしOOPと言っても理解してもらえない.しかたがないので省略して「オブジェクト指向」と言う時も少なくない. ここで挙げるのは「いわ

    自己流オブジェクト指向&Java参考書 『非』お勧め版 - カレーなる辛口Javaな加齢日記
  • 自己流オブジェクト指向プログラミング&Javaお奨め本2007年版 - カレーなる辛口Javaな転職日記

    http://d.hatena.ne.jp/JavaBlack/20050909/p1の改訂.*1基的に改訂版への差し替えと一部の新刊の追加程度になっている. お奨めのJava&オブジェクト指向プログラミング関連の書籍/参考文献リスト.初心者向け入門書や参考書から上級者向けの専門書まで,オブジェクト指向だとかJava言語とかの初心者〜中級者が学習をすすめる上での参考にすることを想定して作っている. 初心者向け勉強の手引き:http://d.hatena.ne.jp/JavaBlack/20070825/p1 オブジェクト指向プログラミング とりあえず初心者なら「オブジェクト指向プログラミング入門」「オブジェクト指向における再利用のためのデザインパターン」と,あと「リファクタリング―プログラムの体質改善テクニック (Object Technology Series)」くらいかな.ただしリフ

    自己流オブジェクト指向プログラミング&Javaお奨め本2007年版 - カレーなる辛口Javaな転職日記
  • 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
  • プロトタイプベースの誤解 - Smalltalkのtは小文字です

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

    プロトタイプベースの誤解 - Smalltalkのtは小文字です
  • リネームとサブタイプと置換原則 - 檜山正幸のキマイラ飼育記 (はてなBlog)

    みずしまさんから、一言ではこたえにくいご質問・ご意見をいただいたので、この機会に新しいエントリーを書きます。自分用メモも兼ねており、以前書いたエントリーへのリンクをたくさん含んでいます。 「なんで多重継承はそんなに嫌われるのか? ちょっくら分析してみるか」において、リスコフの置換原則を引き合いに出しました。リスコフの置換原則については、「クラス継承、リスコフの置換原則、部分集合の型」でも述べています。しかし僕は、リスコフ女史が来どういう意図と表現で、どのような言明をしたかを正確には知りません。間接伝聞で誤解しているかも。 ですが、「来」の詮索はおいといて、「リネームとサブタイプと置換原則」にまつわる状況を実例付きで説明することにします。「インスティチューション」という言葉を表だっては出しませんが、僕の気持ちとしては、インスティチューション入門も意図しています。「もっと型理論」の続きみた

    リネームとサブタイプと置換原則 - 檜山正幸のキマイラ飼育記 (はてなBlog)
  • Smalltalk Software Development

    Smalltalk Software Development (in Japanese) Copyright (C) 1991-1996 by AOKI Atsushi この文章は、スーパーアスキーの1991年6月号から1992年5月号に「Smalltalkソフトウェア開発」と題して連載されたものに、若干の修正を加えたものです。プログラムは「Objectworks 4.0」にあわせて書かれています。そのため「Objectworks 4.1」や「VisualWorks 1.0, 2.0, 2.5」以降のSmalltalkでは、動作しない例題プログラムもあります。また、私(青木淳)の所属は連載の途中で変化しており、文中のメールアドレスやUserTalkの問い合わせ先など既に無効になっているものがあります。この文章の著作権は私(青木淳)に属しますが、複写、引用、再配布等は自由です。 Email

  • 1