[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

タグ

javascriptとoopに関するuemuのブックマーク (7)

  • JavaScript継承パターンまとめ - Thousand Years

    プロトタイプ function Animal(){}; Animal.prototype = { sleep : function(){}, walk : function(){ alert('noshi, noshi') } }; function Human(){}; Human.prototype = new Animal(); new Human().walk(); // noshi, noshi もっともポピュラだと思われる。 変型プロトタイプ Human.prototype.__proto__ = Animal.prototype; new Human().walk(); // noshi, noshi ほとんどのIEを除くJavaScript処理系で実行可能。裏ワザちっく。 エクステンド /** * extend function * @param {Object} s su

    JavaScript継承パターンまとめ - Thousand Years
    uemu
    uemu 2007/01/22
    ほほう
  • JavaScript OOP におけるクラス定義方法 - IT戦記

    クラスを定義する方法です。考え付くだけでも、これだけたくさんの方法があります。やっぱり、 JavaScript って柔軟であり複雑な言語ですね。 ちなみに、以下のすべての例はこのクラスを定義しています。 ちなみに、僕は一番下の書き方ですね。 皆さんはどのようにプログラミングしていますか? プロトタイプを使わない。クロージャを使う。 // プロトタイプを使わない。 // クロージャを使う。 function Item(price) { this.showPrice = function() { alert(price); }; } プロトタイプを使わない。クロージャを使わない。 // プロトタイプを使わない。 // クロージャを使わない。 function Item(price) { this.price = price; this.showPrice = function() { aler

    uemu
    uemu 2006/05/18
    ふむ
  • prototype.js でデザインパターン - Iterator

    Ruby on Rails や Catalyst のプラグインなんかでは prototype.js という JavaScript のライブラリを使って、Ajax サポートを実現しています。prototype.js とフレームワークが必要な Ajax の JavaScript コードを吐き出してくれるので、Ruby プログラマや Perl プログラマは JavaScript の実装を意識しなくても Ajax なインタフェースが作れる、という風になっています。 こんな感じで prototype.js は Ajax な部分に注目が集まっていますが、ほかにも "Class-style OO" なフレームワークも内包してます。 JavaScript はプロトタイプベースのオブジェクト指向言語で、C++Java のようなクラスベースのオブジェクト指向言語とはちょっと実装が異なります。プロトタイプ

    prototype.js でデザインパターン - Iterator
    uemu
    uemu 2005/11/23
    よいです
  • Javascript でカプセル化する方法 - nirvashの日記

    http://d.hatena.ne.jp/brazil/20050829/1125321936 http://www.crockford.com/javascript/private.html しかしJavaScriptのオブジェクトも、プライベート変数とプライベートメソッドを持てることが分かりました。もちろん、JavaScriptは世界で最も誤解されたプログラミング言語であるため、理解している人はほとんどいません。 笑った。いや、俺ももちろん理解してなかったよ。なんで、勉強がてら俺メモ。 Public オブジェクトの持つメンバは全て公開メンバだ。オブジェクトにメンバを追加する方法は次の2通り。 コンストラクタ中で追加 プロトタイプで追加 Private プライベートメンバはコンストラクタ中で定義される。 function Container(param) { this.member =

    Javascript でカプセル化する方法 - nirvashの日記
  • Collection & Copy - JavaScriptにおける高階プログラミング

    翻訳 原文:Higher Order Programming In Javascript著者:Sjoerd Visscherライセンス:クリエイティブ・コモンズ・ライセンス(帰属) 前提知識JavaScriptを使ったオブジェクト指向プログラミングの知識が必要となります。以下のWebreferenceの記事を読み、よく理解しておいてください。OOP in Javascript, part IOOP in Javascript, part IIDouglas Crockford最終更新2004/3/28はじめに高階プログラミングでは、値として関数を使うことができます。つまり引数として関数を別の関数へ渡すことも、関数を別の関数の返り値にすることもできるのです。この形式のプログラミングは、しばしば関数型プログラミングで使用されますが、「通常」のオブジェクト指向のプログラミングでも非常に有用です。

    uemu
    uemu 2005/10/06
    おぉ いいエントリーだ
  • prototype.js でデザインパターン - Adapter

    Iterator に続きまして、「一皮かぶせて再利用」な Adapter パターンです。クライアントは var Main = Class.create(); Main.prototype = { initialize : function() {}, main : function () { var p = new PrintBanner("Hello, World"); p.printWeak(); document.writeln('<br>'); p.printStrong(); } } といった感じ。PrintBanner クラスは別のレガシーなクラスのアダプタで、インタフェースを肩代わりしてやっていると。 実行結果は (Hello, World) *Hello, World*となります。 今回もやっぱり interface に相当するものは作らずにやってみます。(Adapter

    prototype.js でデザインパターン - Adapter
    uemu
    uemu 2005/08/16
    最初引数の渡し方がわからなくて少し悩んだけど arguments を渡せばいい
  • http://www.lost-season.jp/mt/archives/2005/07/jsanjavascript.html

    uemu
    uemu 2005/07/17
    javascript でoopで組むときの注意点 perl使いがわかりやすくって僕はPerl使いじゃない、、、
  • 1