タグ

ooに関するablaboのブックマーク (15)

  • タイプ・クラス・プロトタイプ - OOの語彙 : 404 Blog Not Found

    2008年04月13日06:00 カテゴリLightweight Languages タイプ・クラス・プロトタイプ - OOの語彙 その違いは微妙というにはあまりに大きいので、ここでおさらい。 駄文 - JavaScript と「クラス」と「コンストラクタ」と「プロトタイプ」って言葉の定義が難しいよなあ - IT戦記 JavaScript関数の実体は、Functionクラスのオブジェクトです。今回はFunctionクラスの機能を網羅的に解説します。 JavaScriptの関数オブジェクトを完璧に理解する - builder by ZDNet Japan 「Function クラスのオブジェクト」って言いますよねー。 僕もそういう風に言ったりするんですけど、当は微妙ーに違うんですよね。 Type(型)って何? まず、タイプ=型から説明しよう。 型というのは、「どんなデータを、どう置くか」の

    タイプ・クラス・プロトタイプ - OOの語彙 : 404 Blog Not Found
  • iandeth. - Javascriptで快適・お手軽OOP - オレ的まとめ

    Javascriptでオブジェクト指向なコードを書くには、prototypeベースな言語ゆえ、他のOO言語と異なり多少の小細工が必要になります。やり方は幾つもあるようですが、自分であれこれ試してみたうえでのまとめをここで共有してみます。 OOPと言っても、あくまで個人的に最低限必要だと思うこれら機能の実現を目的にしています: 子クラスのコンストラクタにて、親のコンストラクタを実行 他のOO言語では空気を吸うがごとく実装されている機能 メソッドの継承 Child.prototype = new Parent() なんて親インスタンスを作る事無くなんとかする これらをいかに少ない手間で実現できるか。hacker諸氏ならばちょろっと頭使えばできるのでしょうが、自分はウダウダ時間かけて悩んでしまいました orz。以下3通りの解決策です。 目次 専用のextend関数を使う 使い方 サンプルおよびテ

  • Index of /~jkondo/DesignPattern

  • 「オブジェクト指向神話」神話 - Matzにっき(2006-01-20)

    << 2006/01/ 1 1. [教会] 元旦 2 1. 出産 2. 帰省 3. 到着 3 1. デジタル体重計のユーザインタフェース 4 1. [OOP] Classbox 2. [OOP] Classboxの実装 5 1. 帰宅 2. PCレスライフ 6 1. PC修理 7 1. 雪かき 2. [言語] プログラミング言語SRU 8 1. [教会] 断安息日 2. あーめん 3. 筋肉痛・体調不良 9 1. 米子 10 1. [原稿] オープンソースマガジン3月号 11 1. [原稿] 日経Linux 3月号 12 1. [Ruby] Charming Ruby Compiler 2. [Ruby] The Open Nature Of Ruby 13 1. ニート娘に悩む親 2. Python Status Update 3. 泥縄 14 1. 宣教師のお手伝い 2. Simpl

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

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

    オブジェクト指向の概念の発明者は誰ですか? - Smalltalkのtは小文字です
  • 長文日記

  • Perlオブジェクト指向プログラミング

    メルマ!サービス終了のお知らせ いつもメルマ!をご利用いただき誠にありがとうございます。 サービス開始以来、たくさんの皆様にご利用いただきましたメルマ!ですが、 誠に勝手ながら、2020年3月13日を持ってサービスを終了させていただく事となりました。 今までのご愛顧、誠にありがとうございました。 件に関するお問い合わせ info@melma.com

  • Perl OO におけるオーバーヘッド - naoyaのはてなダイアリー

    フレームワークを考えるにあたって、気になる部分のベンチマークを取ってみた。 ポイントは次の3点。 関数の呼び出し方法: Class::func() と Class->func() 形式 クラスを継承した場合のペナルティ: Class->() と SuperClass->() 連想配列への直接アクセスと、アクセサ経由のアクセス Perl における関数型の実装と OO の実装で、関数呼び出し/メソッド呼び出しでどの程度のオーバーヘッドの差があるかをベンチマークした結果。勉強になります。結果としては関数型に対して OO の方が数倍遅い、という結果。 それで、結論の方なのですが 来なら、アプリケーションより下位にあたるライブラリ関連は、オブジェクト化されて mod_perl 上で共有されるメリットはあるかもしれないが、アプリケーションの上位にあたるフレームワークは、mod_perl 上で共有され

    Perl OO におけるオーバーヘッド - naoyaのはてなダイアリー
    ablabo
    ablabo 2006/08/16
    [perl
  • 物を選んでから何かをさせる - オブジェクト指向のお話 - naoyaのはてなダイアリー

    ときどき「オブジェクト指向でプログラミングをするというのはどういうことなの?」と聞かれるときがあります。そんなときにうーん、オブジェクト指向ってどう説明したらいいものか...犬がワンって吼えるでしょ...ああ、これじゃわからん、などと頭を悩ませるのですが、ふと 憂なプログラマのためのオブジェクト指向開発講座 (DDJ Selection) から学んだ、WindowsUI の話が分かりやすいと思いました。 Macintosh や WindowsGUI はオブジェクト指向だ、というのが書籍の中にある説明です。(P.300 ぐらいから解説されています。) ファイルの削除、という動作を思い浮かべてみましょう。このとき行う操作は、 まずファイルをマウスで選択する 右クリックして操作一覧を出す 削除する という動作になります。(ドラッグ&ドロップでごみ箱に入れる、というのもありますね。)

    物を選んでから何かをさせる - オブジェクト指向のお話 - naoyaのはてなダイアリー
    ablabo
    ablabo 2006/08/12
    "プログラムをどうやって書き始めるか"についての話。
  • オブジェクト指向は分類学 - jkondoの日記

    物を選んでから何かをさせる - オブジェクト指向のお話のなかで、ファイルを選んで→削除操作、みたいなものだという分かりやすい説明がなされています。 僕が結城さんの()のjavaのコードをPerlに置き換えながら、そもそもなぜオブジェクト指向でないといけないのか、という事に対して漠然と思ったのは、「これは分類学なんだな」ということでした。 手続き型のプログラムをたくさん書いていると、よく似た処理をまとめたくなってきます(特にそうはならない勤勉なプログラマを除いて)。 例えば、ユーザーのデータをデータベースから引っ張り出して、その人が登録済みかどうかを判定する、という処理を毎回書いているうちに、どこか1箇所に書いて、全ての場所からその処理を使いまわしたいと思うのは自然な流れです。 この「処理を1箇所にまとめる」という時にどうまとめるのか? 例えばユーザー登録チェックモジュールみたいなのを

    オブジェクト指向は分類学 - jkondoの日記
  • 続・オブジェクト指向の話 - naoyaのはてなダイアリー

    オブジェクト指向設計の初期段階では、まずユースケースを自然言語で書いて、そこから名詞となるものを抽出して、各名詞がお互いにどういう関係にあるかという分析をしていきます。クラス導出の初期段階です。 最初、この手法を学んだときに「なんで名詞だけ抜き出してほげほげ」なんてことをやるんだろうとかなり疑問というか、手法は正しいのかもしれないけど、なぜそれをしなければいけないかが理解できませんでした。自然言語の中から名詞を抽出する作業と、コーディング作業というのが、頭の中でリンクしていなかったからです。 これも、先日書いた物を選んでからほげる、の法則から考えるようになってから理解できるようになったことのひとつです。 宮川さんは、「最初にメインプログラムの中にオブジェクトと、そのオブジェクトに何をさせるかを書くそう」と書きました。これは結城さん風に言うと、"インタフェースでプログラミングしている"という

    続・オブジェクト指向の話 - naoyaのはてなダイアリー
  • Perl OOP におけるクラスの実装方法 : NDO::Weblog

    Perl OOP におけるクラスの実装方法 [ Perl ] Perl で OOP するにあたってはコンストラクタの書き方やアクセサの書き方に色んな方法があります。素で書くと package Dog; use strict; use warnings; # コンストラクタ sub new { my $class = shift; my $self = {}; bless $self, $class; return $self; } # アクセサ sub name { my $self = shift; @_ ? $self->{name} = shift : $this->{name}; } 1; あたりが定番だと思います。インスタンスフィールドをハッシュで実装して、アクセサは getter と setter を兼ねるメソッドとして定義。コンストラクタにおける初期化処理を $self->i

    ablabo
    ablabo 2006/08/05
  • LL Hacker 大集合 - LL Saturday に行ってきました。 : NDO::Weblog

    LL Hacker 大集合 - LL Saturday に行ってきました。 [ Perl , 私生活 ] 今日は台風でしたが、気合で Lightweight Language Saturday に行って来ました。渋谷は法学館にて開催。 Lightweight Language SaturdayPerl,PHP,Python,Rubyコミュニティが協力し、 Lightweight Languageが大好きな人達の集まりとして、「Lightweight Language Saturday」(通称: LL Saturday)を企画しました。 ってな趣旨のカンファレンス。国内の各LLコミュニティを引っ張っている著名な方々が一同に介しており、僕にとっては雲の上のお方みたいな人がたくさん来てました。イベントプログラムからもその顔ぶれの一部を垣間見ることができると思います。加えて、観客席にも見たことある

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

    ablabo
    ablabo 2006/01/12
  • いま Perl で一番イケてるオブジェクト指向プログラミングを学ぶ - bricklife.weblog.*

    いま Perl で一番イケてるオブジェクト指向プログラミングを学ぶ 最近、現実逃避で「CPAN author にでもなるか」と思い、Perl でちゃんとしたモジュールを書くにはどうしたらいいかをチマチマ勉強しています。 で、そうなるとやっぱりオブジェクト指向なわけです。が、PerlJava などに比べるとオブジェクト指向的な記述を前提としていないユルユルなプログラム言語 (あくまで主観ですが) なので、書き方も使い方も実現方法も色々あってどういう風にやるのが一般的なのかよくわかりません。普段から CPAN のモジュールを使っていればそれでもなんとなくわかるのですが、モジュール探すより先に手が動いてしまうタチなので深く経験・学習する機会もなく。 実は過去にオブジェクト指向っぽい書き方にチャレンジしてみたものの、書いてるうちに「一人で使っている分にはベタで書いたほうが早い」とか思い出して

    ablabo
    ablabo 2006/01/05
  • 1