タグ

OOPに関するhamastaのブックマーク (13)

  • いまさらながらだけど、オブジェクトとクラスの関係を究めてみようよ - 檜山正幸のキマイラ飼育記 (はてなBlog)

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

    いまさらながらだけど、オブジェクトとクラスの関係を究めてみようよ - 檜山正幸のキマイラ飼育記 (はてなBlog)
  • オブジェクト指向とコンポーネント

    hamasta
    hamasta 2007/05/18
  • OOエンジニアの輪! ~ 第 35 回 千葉 滋 さんの巻 ~ | オブジェクトの広場

    特になし。 技術者は、自分が慣れ親しんだ愛用のツールをもつと、そこに閉じこもってしまう傾向があります。だから、モットーとして愛用のツールを決めていません。これが愛用のツールだと思ってしまったら、それはちょっと頭が固まってしまっている状態です。常に新し物好きでなくてはいけないと思っています。 今までのお仕事について -- まず今までの経歴を簡単にご紹介いただけますか? 博士まで大学に残って、博士課程の途中にアメリカのゼロックスパークというゼロックスの研究所に居候しました。帰ってきてから、東大の助手をやって、筑波大へ行って、5年ほど前から東工大にきているという感じです。 -- 今までの研究内容は? 研究内容は、今と大体同じようなことですね。プログラミング言語とかオペレーティングシステムとかそういうインフラストラクチャーのような部分をずっとやっていました。 アスペクト指向とオブジェクト指向~ 個

    hamasta
    hamasta 2007/04/23
  • メソッド、ブロック、クロージャ | METAMATE

    Rubyの一番のウリと言えばブロック引数メソッドでしょう。 メソッド(関数)とクロージャとブロックの関係についてちょっと掘り下げてみました。 普通のメソッド定義はdef...endで定義します。 def hello name puts "hello, " + name end hello "taro" => hello, taro Rubyでは関数は全てクラスに属するので関数=メソッドです。 トップレベルで定義をした場合はObjectクラスのメソッドになります。 self.class => Object Object.method_defined? :hello => true メソッドはファーストクラスではありません。 ファーストクラスとは以下の4つを満たす言語要素のことです。 1. 名前を付けられる 2. 関数の引数に渡せる 3. 関数の戻り値にできる 4. データ構造の

    hamasta
    hamasta 2006/12/09
  • オブジェクト指向の概念の発明者は誰ですか? - Smalltalkのtは小文字です

    忙しい人のためのまとめ 一般に「オブジェクト指向プログラミング」と呼ばれる考え方には発案者が異なる二系統がある。(ただし簡単のため、次のうち前者から批判的に派生して生じたプロトタイプベースのオブジェクト指向はここには含めていない) アラン・ケイによる、変化に強い長期運用可能な遅延結合システムを SIMULA67 にあった「オブジェクト」をメッセージの受け手とすることで実現(オブジェクトにメッセージ送信)するアイデアに基づく「メッセージングのオブジェクト指向」と、 ビアルネ・ストラウストラップ(前後して抽象データ型を発案したリスコフ人、オブジェクトクラスを考えたニガードらSIMULA陣営、Eiffelのメイヤーらも同様の着想を得ている)による、ユーザー定義型(抽象データ型)を SIMULA67 にあった「クラス」という言語機能を使って実現(カプセル化、継承、多態性)するアイデアに基づく「抽

    オブジェクト指向の概念の発明者は誰ですか? - Smalltalkのtは小文字です
    hamasta
    hamasta 2006/12/03
  • クラス、オブジェクト、型; なんだか変じゃない? - 檜山正幸のキマイラ飼育記 (はてなBlog)

    「オブジェクト指向と得体の知れないモノたち」の続きみたいなハナシ。クラスやオブジェクトをなるべく“ドライに考える”ための練習。クイズだと思っても、実務的ヒントとして受け取っても、どっちでもいいですよ。 この継承は変な感じ class Point2D { protected double x; protected double y; // コンストラクタ(略) void moveTo(double x, double y) { // ... } // ... 点を操作するいろいろなメソッド } class ColoredPoint2D extends Point2D { protected Color color; // コンストラクタ(略) Color getColor() { return color; } // ... } class Point3D extends Point2D {

    クラス、オブジェクト、型; なんだか変じゃない? - 檜山正幸のキマイラ飼育記 (はてなBlog)
  • koido Blog - koido Blog

    XP祭り2009 ◎XP祭り2009 ~ XP10周年:ソフトウェア開発から日が変わる ~ http://kokucheese.com/event/index/325/ アジャイル開発の実践者の講演やワークショップ、 恒例のLT(ライトニング・トークス)など、 盛りだくさんになっています。 上記より参加申し込みください。 posted @ 1:35 | Comment (0) INETA Day 2009 募集開始 INETA Day 2009の募集を開始いたしました。 今年も、【最新技術トラック】、【コミュニティトラック】、チュートリアルトラック】 の3立てです。 【最新技術トラック】では、マイクロソフトの萩原様とアークウェイの森屋様を スピーカーとしてお招きし、クラウドでのアーキテクチャや開発について、 語っていただきます。 【コミュニティトラック】でも、最新のWeb系の技術などを

    hamasta
    hamasta 2006/04/25
  • 疑りぶかいあなたのためのオブジェクト指向再入門

    このページは、「オブジェクト指向再入門」とあるように、 オブジェクト指向を勉強しようとして挫折した人向けの文書です。 タイトルに「疑り深いあなたのための」とありますが、 これは決して揶揄して言っているわけではありません。 現在世間に蔓延しているオブジェクト指向の説明では、 むしろ納得しない方がまともだとさえ思えます。 「オブジェクト指向を使えば、生産性が飛躍的に上がり、 プログラムの見通しがよくなり、再利用性も高まる」と聞かされて、 「ホントかあ?」と思える人は、一度読んでみてください。 稿の対象読者は「既に他の手続き型言語を習得しているが、 オブジェクト指向が理解しがたいと感じている人」です。 言語としてはJavaを使用します。 手続き指向型の言語の例としては、C言語を使用します。 特にCに習熟している必要はないようにしたいのですが、 Cで言うところの「構造体」「ポインタ」「動的メモリ

    hamasta
    hamasta 2006/02/04
  • 僕は、オブジェクトもthisもサッパリ理解できなかった - 檜山正幸のキマイラ飼育記 (はてなBlog)

    「『常識』というよりは『理解の基盤』と『説明の方法』」に挙げた4つの問いかけのなかで、 メソッド内で使える「this って何?」と聞かれたら…。 これはなんか異質でしょう。thisは、僕自身の記憶に残っている例なんだよね。(以下、愚痴口調の文体。) 「犬とポチ」はやめてくれ 僕は、オブジェクト/クラスの概念が全然分からなかったし、今でも分からないよ。「犬クラスは哺乳類クラスのサブクラスで、ポチは犬クラスのインスタンスだ」とか「タイヤは自動車クラスのインスタンスではないが、自動車はタイヤを持つ(HAS-A)のだ」とか。そのテの説明を最初に見てしまったのがいけなかった。 犬とかポチとかは、動物学/分類学/博物学、あるいはペットショップで必要な概念なんじゃないの。それがどうした? という気分。今の僕は、このテの説明を全否定はしない。それで納得した気分になる人がいる事実を知っているからね。大人だね

    僕は、オブジェクトもthisもサッパリ理解できなかった - 檜山正幸のキマイラ飼育記 (はてなBlog)
    hamasta
    hamasta 2006/02/03
    新人PGにはこのblogを読ませる
  • オブジェクト指向プログラムでgetter/setterメソッドを使わなければならない10の理由

    オブジェクト指向プログラムで getter/setterメソッドを使わなければならない 10の理由 福盛 秀雄 fukumori at m.ieice.org JavaC++などのオブジェクト指向言語でプログラムを書いているときに、単純なメンバ変数を参照したり操作するために anObject.getX() [以後これをgetterメソッドと呼ぶ] とか anotherObject.setY(y) [以後これをsetterメソッドと呼ぶ] と書くのはなぜだろうと思ったことはないだろうか? int型の変数ひとつを操作するのになぜわざわざメソッドを定義するのだろう? 単純に代入を使えばいいじゃないか? この文章はそんなあなた(かつての僕も含む)が、getter/setterメソッドを使うべきである理由についてまとめたものである。 ということで早速論へ。 1. クラス内部のデータ表現を変えた場

  • JavaScriptっぽい。 JavaScript OOPなリンク集

    とりあえず自分で書いたのも含めて、後でゆっくり読みたいものなどを片っ端からリンク。選出基準は適当です。 JavaScriptっぽい。 prototype覚書 GAC なぜなにGAC->フォーラム->【JavaScript】 Functionで遊ぼう [教えて!goo] クラスの継承の仕方 オブジェクト(Object)(とほほ) JavaScript, Neo-Generation/Function 自作オブジェクトで複数のメソッドを呼び出したい Virgo - JavaScript - ユーザ定義オブジェクト ECMAScriptチュートリアル ECMAScript - on Surface of the Depth - Effective JavaScript - Dynamic Scripting オブジェクトなJSの基礎講座 プロトタイプチェインについての覚書(ECMAScript,

  • OGIS-RI OBJECT SQUARE

    今月もオブジェクトの広場をどうぞお楽しみください。記事に対する感想は、ぜひ公式Facebookページのコメント欄までお願いいたします。(2024.11.28) モデリングカフェ 第3回:サウナでととのう(回答編) 第3回は前回の「お題:サウナでととのう」を見ていきます。編集員からも考えた回答例を出します。モデルに完璧な正しさというのは無いと思っているので、意図とモデルが合っているか、よりよいモデルにするにはどうしたら良いかをワイワイ発信できれば幸いです。 ひっくりかえるソフトウェアコンテスト選レポート オージス総研主催のソフトウェアアイデアコンテストOGIS-RI Software Challenge Award 「ひっくりかえるソフトウェアコンテスト」の選と最終審査を2024年11月12日(火)に行いました。レポートでは受賞作品と選の様子をご紹介します。

    OGIS-RI OBJECT SQUARE
    hamasta
    hamasta 2005/12/04
    インタビュー記事など
  • 吉田誠一のホームページ

    彗星の最新情報と資料を公開しています。新天体を探すMISAOプロジェクトも主宰しています。 すべてのページを見る

  • 1