タグ

oopに関するamachangのブックマーク (10)

  • 結論:結局、Javaはクロージャを使えるの? - lethevert is a programmer

    【追記 2008/7/2】とても昔のClosureについて書いた記事が注目を集めてしまったみたいですが、ぜひ、もっと後で書いた次の記事とその関連スレッドの方も確認してみてください。このときよりも、もう少し事情が分かってから書いたものなので、より正確に状況を理解できると思います。それに、私自身、この言葉にはまだ混乱しています・・・ http://d.hatena.ne.jp/lethevert/20070524/p2 - という問いに対して、そろそろ私の結論を整理しておきます。 これは、将来の自分に対する参照の便のための整理です。 前提知識 前提知識として、こちらの内容を読んで理解しておきます。 Closure (computer programming) - Wikipedia [id:lethevert:20060119:p1] [id:lethevert:20060121:p2] また

    結論:結局、Javaはクロージャを使えるの? - lethevert is a programmer
    amachang
    amachang 2008/07/01
    うおお。すげえ。めっちゃ勉強になる。ここまで確信を持って的確な言葉で伝えられるというのがすごい。こういう澱みのない断言で書かれた文章は本当にすっと自分の中に入ってくる。必読。あとでもう一回読む。
  • プロトタイプベースの誤解 - Smalltalkのtは小文字です

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

    プロトタイプベースの誤解 - Smalltalkのtは小文字です
    amachang
    amachang 2008/04/15
    すごく分かりやすいです><
  • いまさらながらだけど、オブジェクトとクラスの関係を究めてみようよ - 檜山正幸のキマイラ飼育記 (はてなBlog)

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

    いまさらながらだけど、オブジェクトとクラスの関係を究めてみようよ - 檜山正幸のキマイラ飼育記 (はてなBlog)
    amachang
    amachang 2008/01/09
    やばい。すごいおもしろい><こうやってみるとクラスベースの世界とインスタンスベースの世界は文字通り「次元が違う」。メタタワー、レフィケーション、プレーン、CLASS Class Class.class
  • Firefox、プロトタイプを空にする、オブジェクトをハッシュとして使う時の注意 - FAX

    JavaScriptFirefox、__proto__で、プロトタイプオブジェクトを取れる。 function Cat(){} var p = {}; Cat.prototype = p; var c = new Cat(); ok(c.__proto__ == p); // 同じオブジェクト クラスのプロトタイプをnullにしても、実際に生成されるインスタンスのプロトタイプはnullにならない。 function Cat(){} Cat.prototype = null; var c = new Cat(); ok(c.__proto__ != null); // nullじゃなくなって、通常のオブジェクトのようなものが入ってる ok(c.watch != null); // watchなどの基メソッドもある 直接、インスタンスのプロトタイプをnullにすることはできる。 var

    amachang
    amachang 2007/10/01
    Klass.prototype = null; としても new Klass().__proto__ には {} が設定される。new Klass().__proto__ = null; とすると、 Object.prototype を継承しないオブジェクトを扱うことができる。
  • アラン・ケイ - Wikipedia

    アラン・カーティス・ケイ(Alan Curtis Kay, 1940年5月17日 - )は、アメリカ合衆国の計算機科学者、教育者、ジャズ演奏家。パーソナルコンピュータの父、と言われることもある。主に、オブジェクト指向プログラミングとユーザインタフェース設計に関する初期の功績で知られている。ピーター・ドラッカーの言葉“You cannot predict the future, but you can create it.” を引用し、“The Best Way to Predict the Future is to Create it.” 「未来を予測する最善の方法は、それを発明することだ」と改変したことでも知られている。 カリフォルニア大学ロサンゼルス校(UCLA)で計算機科学の准教授、ビューポインツ・リサーチ・インスティテュート(Viewpoints Research Institut

    アラン・ケイ - Wikipedia
    amachang
    amachang 2007/07/31
    オブジェクト指向の提唱者。オブジェクト指向の定義について。オブジェクト指向の本質は「メッセージング」。「カプセル化・継承・ポリモーフィズム」はストラウストラップが言い出した。
  • [mixi] pontaさん | 無責任な「オブジェクト指向」

    mixi(ミクシィ)は、日記、写真共有、ゲームや便利ツール満載のアプリなど、さまざまなサービスで友人・知人とのコミュニケーションをさらに便利に楽しくする、日最大規模のソーシャル・ネットワーキングサービスです。

    amachang
    amachang 2007/07/31
    曰く「いわゆるヒヨッコプログラマーがこれらのサイト(JS を OOP と言い切っているサイト)を参考にした場合どうなるか。」僕のブログもこれらのサイトに入る。まあ、一つの考え方か。
  • ソーシャル・ネットワーキング サービス [mixi(ミクシィ)]

    mixi(ミクシィ)は、友人・知人とのコミュニケーションをさらに便利に楽しくするSNSというサービスです。

    ソーシャル・ネットワーキング サービス [mixi(ミクシィ)]
    amachang
    amachang 2007/07/31
    おもしろそうな議論。オブジェクト指向の三つの条件って、今となってはかなり香ばしい気がする。あとで時間があれば参戦したい。とりあえず、ヲチ。
  • はてなブログ | 無料ブログを作成しよう

    【自分語り】1推しの卒業によせて . 私の1推し、ゆきりんこと柏木由紀ちゃんが、17年に渡り在籍したAKB48を卒業することになった。 この機会に、ゆきりん推し(48ファン)としての自分自身のことをすべては不可能であるものの振り返ろうと思う。 内容からして世代がわかることも仕方ないし、限りなくゼ…

    はてなブログ | 無料ブログを作成しよう
    amachang
    amachang 2007/04/18
    続 prototype の話。「メモリー上は別のアドレスを参照してる。(いいきっていいのかな?)」 ← 言い切っていいと思います!
  • ハタさんのブログ(復刻版) : 私は如何にしてJavascriptのprototypeを身につけたか。

    javascriptのprototypeはなかなか理解してもらえないですねぇ。 ここ1年間でマジマジと実感しました。 特に、大規模開発をしているとこだと、いろんな知識が入り乱れていて(ホームページ時代からAjaxを読んだ人とか)が、javascriptが単なる関数型列挙な言語(語弊があるけど)という見方が大多数を占めているように見えます。 そんな中で "String.prototype.trim" みたいなコードを見せても、説明下手なのか中々上手く伝わらないですねぇ。 ということで(?)、僕がjavascriptのprototypeを身に着けるまでやったこと、とか。これも備忘 prototype.jsのソースコードを眺める Array.mapとかEnumerable, Hashは勉強になりますねー。 ただ、prototype継承されすぎて、ちょっと多すぎなこともあります。 var

    amachang
    amachang 2007/04/17
    prototype を身に着けるために読んだソースの数々を紹介。僕のソースもありました。ありがとうございます^^
  • https://labs.cybozu.co.jp/blog/kazuho/archives/2006/10/why_prototype-based.php

    amachang
    amachang 2006/10/19
    おおお。おもしろいです。でも、悲しい話しですが。そのシンタックスシュガーが多少の混乱を生んでいそう
  • 1