タグ

ooに関するzeemoreのブックマーク (13)

  • 関数指向から覚えるオブジェクト指向 - nazokingのブログ

    javaScriptの勉強をしながらオブジェクト指向が分かっちゃう!(対象読者レベル:JavaScript中級以上で、オブジェクト指向を理解していること) 関数が値である JavaScriptの世界では、関数も値である。ある意味これが一番の特徴になっているといってもいい。値であるから、変数に代入することができる。関数の実行は括弧で引数を関数に与えることで実行される。 var plus = function(a,b){ return a+b }; var three = plus(1,2);戻り値にも関数が使える。 function plus_func(){ return function(a,b){ return a+b }; } var plus = plus_func(); var three = plus(1,2); ハッシュ ハッシュ(連想配列)は {} で作ることができる。 va

    関数指向から覚えるオブジェクト指向 - nazokingのブログ
  • id:m-hiyama:20080109:1199863428 を Squeak Smalltalk で - Smalltalkのtは小文字です

    なにかいろいろと大事なポイントをハズしてしまっているような気もするのですが、ひるまずに。 図は、赤矢印が継承関係、黒矢印がクラス-インスタンス関係です。 Object subclass: #Person instanceVariableNames: 'name' Person class >> named: nameString ^self new name: nameString; yourself Person >> name: nameString name := nameString | s1 s2 p | s1 := 'Hello'. s2 := 'Bye-bye'. p := Person named: 'tonkichi'. " 1 " self assert: [ByteString allSuperclasses includes: Object]. self asser

    id:m-hiyama:20080109:1199863428 を Squeak Smalltalk で - Smalltalkのtは小文字です
    zeemore
    zeemore 2008/01/23
  • Ruby のクラスとインスタンスの関係(あるいはモジュールと特異メソッドについて) - val it : α → α = fun

    http://d.hatena.ne.jp/m-hiyama/20080109/1199863428http://d.hatena.ne.jp/sumim/20080109/p2 うーん、タイトルでスルーしてたけどさすが面白い。誰か Rubyist が既に書いているかな?という気がしますけど。まあいいか。以下は少しだけ調べながら書きましたが、カンチガイなどにより嘘や不正確な情報が混じっている可能性があります。 まず Ruby は Smalltalk に影響を受けた(とされる)オブジェクトシステムを使っています。ということで、 Object という識別子はクラスという概念を指すと同時に「Objectクラスオブジェクト」も指します。ややこしいことに Ruby にも Object.class という表現は存在するのですが、それは「Objectクラスオブジェクト」ではありません。「Object ク

  • 関数、オブジェクト、クロージャ - FAX

    (thanks to id:koyachi、del.icio.us/rtk2106) OOPとFPと。関数、オブジェクト、クロージャの使い分けについて考えます。 関数型が良いのか、オブジェクト指向が良いのか、知りたいと思っていました。色々なページを読み、現時点で一応の答えを得ました。 カウンタを例にして、関数、スコープ、オブジェクト、クロージャの順に見て行きます。関数関数は処理です。入力と出力があります。関数型プログラミングでは、関数同士の入力と出力を連結しプログラムが構成されます。 var current = 0; function next(v){ return v + 1 } function previous(v){ return v - 1 } ok( 1 == ( current = next(current) ) ); ok( 2 == ( current = next(cu

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

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

    いまさらながらだけど、オブジェクトとクラスの関係を究めてみようよ - 檜山正幸のキマイラ飼育記 (はてなBlog)
  • まつもと直伝 プログラミングのオキテ---目次 - まつもと直伝 プログラミングのオキテ:ITpro

    第0回 あらためてRuby入門 まつもとゆきひろ氏自身による「Ruby入門」をお届けします。日経Linuxの連載開始前の特別企画(2005年4月号)として,Rubyが他のスクリプト言語やオブジェクト指向言語とどこが違うのか,なぜ便利なのかを中心に解説してもらったものです。 ● 基と他言語との違い ● 実装とRuby誕生の秘密 第1回 プログラミングとオブジェクト指向の関係 プログラマを目指す人々の中にも,「オブジェクト指向は難しい」とか,「なかなか分からない」という印象を持つ方が多いようです。そこで,Rubyを題材にオブジェクト指向という考え方について説明していきます。 ● その1 ● その2 ● その3 第2回 抽象データと継承 オブジェクト指向プログラミングを構成する3原則のうち,前回は「ポリモーフィズム」を学びました。今回はオブジェクト指向の歴史を復習した後,残りの「データ抽象」と

    まつもと直伝 プログラミングのオキテ---目次 - まつもと直伝 プログラミングのオキテ:ITpro
  • Perlオブジェクト指向プログラミング

    -> 趣旨と注意書き -> 身近なpackage -> なんのためのpackage ? -> What's `new' ? -> bless ( reference => package ) -> Hello, Module World! -> オブジェクト? -> main パッケージと関連付けてみる -> クラスとメソッド -> オブジェクト指向 -> オブジェクトがリファレンスなら… -> -> を連続する -> 継承 -> 多重継承 -> 多重継承をやめる -> 多重継承をやめる(もう少し簡単に) -> 情報源(書籍等) <- モドル 趣旨と注意書き これを読んでも、あんまりきちっとした知識は、身に付きません(^^; オブジェクト指向の概念はほんの少ししか説明しません。ここで述べるのは、Perlでどうやるかってのが主です(それも不十分&嘘まじりかも)。 とりあえず、モジュールを作り

  • perl - Inside-out Object : 404 Blog Not Found

    2007年03月11日03:30 カテゴリLightweight Languages perl - Inside-out Object ところが、そのないはずの隠蔽化を強制する仕組みがすでに発見されているのです。 Perl Best Practices Damian Conway [邦訳:Perlベストプラクティス] ビンゴ中西のほげほげ Kansai.pm第8回ミーティングに行ってきました@荷造り中そして、Perlのオブジェクト指向には 隠蔽化を強制する仕組みはない いつか書こうと思っていたけど、ちょうどいい機会なので。 ここでは例として、name,uriという二つのインスタンス変数を持つオブジェクトを実装してみます。 InsideOut.pm { package InsideOut; use strict; use warnings; my %objects; sub new { my

    perl - Inside-out Object : 404 Blog Not Found
  • 疑りぶかいあなたのためのオブジェクト指向再入門

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

    zeemore
    zeemore 2006/12/30
  • オブジェクト指向の考え方

    UML、Java、デザインパターンなどの言葉をソフトウェア業界の人で聞いたことがないという人はいないでしょう。また、これらはすべてオブジェクト指向と深い関係があるということも、もはや常識です。しかし、あらためてオブジェクト指向とは何かと問われると、一部の人を除いてはよく分からないというのが現状ではないでしょうか。 オブジェクト指向に基づく応用技術が徐々に普及してきていますが、オブジェクト指向の基概念をきちんと理解しておかないとこれらを使いこなすことはできません。せっかくJavaC++などのオブジェクト指向言語を活用しても、その特徴を十分生かすことができず、Cと同じプログラミングを行ってしまうことになります。UML入門書を読んだだけでは、モデリングはできないのです。 オブジェクト指向の基的な考え方をあらためて学ぶことは、結果としてオブジェクト指向の応用技術を使いこなすための近道です。形

    オブジェクト指向の考え方
    zeemore
    zeemore 2006/12/30
  • Perlでオブジェクト指向 - 簡単なのでやってみませう。

    (Too many spams ... embedded comments are not allowed now, sorry.) 2005-11-25 (Fri) 14:27:42 bless がわからん。 2005-11-22 (Tue) 12:55:20 d? : ここを見る人は、Perlのクラス作り方がわからない人でしょう? 2005-11-22 (Tue) 12:54:50 d? : テストファースト良いと思うのですが、このページの最初に書くのは間違いだとおもいますね。 2005-09-20 (Tue) 14:00:54 オブジェクト指向の概念はお腹いっぱいですが、実際に運用出来るかと言うと・・プログラムの閉じ方がさっぱりわかりません。ちょこっと作ってテストみたいなのが、さっぱりです 2005-08-17 (Wed) 11:21:32 「クラスはどうやって書くの?」の中に「まず

  • Perl%u30AA%u30D6%u30B8%u30A7%u30AF%u30C8%u6307%u5411%u30D7%u30ED%u30B0%u30E9%u30DF%u30F3%u30B0

  • JavaScriptの基礎からはじめよう - JavaScript講座

    変数は以下のように値を代入したり出力することができます。 # 変数に文字列を代入 $value = "テストです"; # 変数を出力 print $value; 【参照ページ】 変数 配列 複数の値を1つの変数で管理したい場合は、『配列』という変数が最適です。 配列を初期化する場合は、要素をカッコで囲み、各要素毎にカンマで区切ります。 @week = ('日曜', '月曜', '火曜', '水曜', '木曜', '金曜', '土曜'); 配列はインデックスを使って参照します。インデックスは 0から始まるので注意してください。たとえば1番目のデータ "日曜" を呼び出すときは、$week[0]、"月曜"なら $week[1] とします。 # 配列 @week の1番目の要素を表示 print $week[0], "\n"; > 日曜 # 配列 @week の2番目の要素を表示 print $

  • 1