タグ

oopに関するhirafooのブックマーク (21)

  • オブジェクト指向できていますか?

    3. 自己紹介 1992年~1997年 某ゲーム会社 プログラマ SFC,GB,PS1,N64のゲーム開発経験 1998年~現在 日工学院八王子専門学校 @mozmoz1972 専任講師 プログラミング教育を中心に担当 twitterもfacebookも実名です。よかったらフォローしてください。

    オブジェクト指向できていますか?
  • C 言語によるオブジェクト記述法 COOL

    C 言語によるオブジェクト記述法 COOL ver.2 C-language's Object Oriented Language ver.2 [検索] 目次 0. はじめに 1. クラスの記述, 属性の記述 2. 操作の記述 3. クラス属性の記述、定数の記述 4. 初期化操作と後始末操作の記述 4-1.処理効率優先インターフェイス 4-2.再コンパイル不要インターフェイス 4-3.動的バインディング・インターフェイス 5. 状態取得操作と状態設定操作とイベントハンドラの記述 6. 集約の記述、継承の記述 6-1.集約の記述 6-2.継承の記述 6-3.多重継承の記述 6-4.重複継承の記述 6-5.動的継承の記述 7. 多態性(多相性)、インターフェイス継承の記述 7-1.多態性の記述 7-2.多態性を持った生成の記述 7-3.多重継承の多態性の記述 7-4.重複継承の多態性の記述 7

    hirafoo
    hirafoo 2012/01/24
  • 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
  • YappoLogs: Perlで数有る$selfを取る手法をベンチマーク取った

    Perlで数有る$selfを取る手法をベンチマーク取った PerlでOOなコード書く時のコンテキストを取る方法は色々あります、最近audreyがselfvarsをリリースしたので、gugodのself.pmとingyのSpiffyそして、既存のmy $self = shift;やshift->や$_[0]->で$selfを取る方法それぞれのベンチマークを取ってみました。 テストコードのモジュール名は、それぞれのモジュールの作者名から取り、既存の手法はYAPC::Asiaでプレゼンした事のある日を代表するPerlな企業のCTOからモジュール名を取らせていただきました。 コードは以下の通りです。 package Audrey; use strict; use warnings; use selfvars; sub new { bless { count => 0 }, shift } sub

  • perl - no accessor; # だって遅いんだもん : 404 Blog Not Found

    2008年07月08日15:30 カテゴリLightweight Languages perl - no accessor; # だって遅いんだもん まずはDCONWAY先生のお言葉から。 Perl Best Practices Damian Conway [邦訳:Perlベストプラクティス] Always use fully encapsulated objects. オブジェクトは常にカプセル化して用いよ これはperlの常識というより、OOの常識であるのだけど、これがperlの実装と重なることにより、perlにおいては他の言語よりも作法を破りたくなるインセンティヴが大きいのは否めない。 カプセル化のコストが、あまりに大きいのだ。 以下は、ハッシュ、ハッシュリファレンス、そしてハッシュリファレンスによるオブジェクトの性能をベンチマークしたものだ。最初が初期化、次が accessor と

    perl - no accessor; # だって遅いんだもん : 404 Blog Not Found
  • OOとはなにか - みねこあ

    自分の中でひっかがりを感じることを整理するため、なんとなく、こんな図を書いてみて、それからそれに文章を付けてみます。 マルが OOPやOOの名前、四角がそれを構成する要素・・・みたいな感じの適当な図です。また、赤の四角がプログラムの構造についての考え方、青の四角が型チェックについての考え方。用語や関係は適当です。(ご容赦) クラスには「型」と「モジュール」の、二つのとらえ方があります。メイヤー先生の「オブジェクト指向入門」から(artonさんをパクって)引用すると、 繰り返しになるが、クラスを型と見るか、またはモジュールと見るかによってすべては決まる。型として見る場合、継承はis-a(……は……の一種である)という関係であり、明らかに特殊化である。"犬"は"動物"よりも特殊な概念であり、"長方形"は"多角形"よりも特殊化されている。この関係はすでに述べた部分集合の関係に対応する。(中略)

    OOとはなにか - みねこあ
  • perlboot - Perl オブジェクト指向導入編

    名前 perlboot - Perl オブジェクト指向導入編 説明 他の言語でオブジェクトに親しんでいたのでなければ, 他の Perl オブジェクトのドキュメントのいくつかは気力をくじかせるでしょう. オブジェクトを使うための基的なリファレンス perlobj, Perl のオブジェクトシステムの特性のチュートリアル的な紹介 perltoot 等のように. そこで, 別のアプローチをとってみましょう. オブジェクトの経験がないことを前提にしましょう. もし, サブルーティン(perlsub)や, リファレンス(perlref等), パッケージ(perlmod) を知っているのならそれが役に立つでしょう. もしまだわからなければまずそちらを先に知っておくべきでしょう. もし動物と会話できたら... 動物さんたちにちょっとしゃべってもらいましょう. sub Cow::spea

    hirafoo
    hirafoo 2008/12/06
    クラスメソッドとインスタンスメソッド
  • tokuhirom blog

    Blog Search when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${entry.path} [in template "__entry.ftlh" at line 3, column 25] - Reached through: #include "__entry.ftlh" [in template "entry.ftlh" at

    hirafoo
    hirafoo 2008/12/06
    3通りのnew
  • Perl5 のオブジェクト指向を理解する - モダンなPerl入門

    Inside Perl5 OO 対象読者: 他の言語で OO したことあるっぽいひと/Perl4 でとまってるひと Class をつくる まずは点クラスをつくってみましょう package Point; sub new { my ($class, %args) = @_; # 第1引数はクラス名 bless({%args}, $class); # データを bless すると、オブジェクトになる } sub x { my $self = shift; # 第1引数は、インスタンス $self->{x} = shift if @_; # 引数があればセッター扱いになる $self->{x}; } sub y { my $self = shift; $self->{y} = shift if @_; $self->{y}; } このようにして作ったクラスは、下記のようにして呼び出すことができま

  • Perlが初めての人に教えてあげたいちょっとしたこと - Unknown::Programming

    タイトルは釣りです。 実際のタイトルは「Perlのオブジェクト指向がムズカシイだって?んなバカな。だったらPHPで再現してやんよ!」でございます。 ヘイヘイヘイ。そこの君。Perlのオブジェクト指向が難しいだなんていったい誰が言ったんだい? Perlのオブジェクト指向ほど、シンプル且つ柔軟なものはないよ! 単なるパッケージ(名前空間)とリファレンス(データ)をblessという関数で紐付けただけのもなんだから。 第一引数に必ず$selfが来るっていうのも結局の話たんなる関数呼び出しとなんら変わらないのだから。 package Foo; sub new { my $class = shift; return bless { @_ } , ref $class || $class; } sub plus { my $self = shift; my $int = shift; return $s

    Perlが初めての人に教えてあげたいちょっとしたこと - Unknown::Programming
  • いま Perl で一番イケてるオブジェクト指向プログラミングを学ぶ - bricklife.weblog.*

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

    hirafoo
    hirafoo 2008/05/24
    getterとsetterを同時に
  • オブジェクト指向プログラム言語としてのJavaScript

    このページでは、JavaScriptのオブジェクト指向言語としての側面を研究します。 JavaScriptは、HTMLの拡張という側面が注目されていますが、 プログラム言語として見た場合にも、興味深い独自の特徴がたくさんあります。 このページでは、これらJavaScriptの言語としての特性、 特にオブジェクト指向言語としてJavaScript を見た場合の特徴について詳しく研究を試みます。 JavaScriptは、ほぼ完全なオブジェクト指向言語です。プログラマによるクラス定義、プロパティ定義、メソッド定義ができます。継承は、言語の基機能としては用意されていませんが、基機能の組み合わせにより実現できます。 メソッドのバインディング(binding)はレイトバインディング(late binding)です。これは、JavaScriptが変数の型のない言語だからです。 JavaScript

  • perlオブジェクト指向プログラミング /lib/mailmag

    Object Oriented Programming w/ Perl melma! を使って発行しているたメールマガジンです。 Perl のオブジェクト指向やテスティング、デザインパターンなどの話題を中心に、2週間に1回程度発行していますした。 Name Last modified Size Description Parent Directory 26-Aug-2005 13:02 - 15/ 09-Mar-2001 16:23 - 16/ 21-Sep-2001 03:43 - 17/ 29-Mar-2001 20:22 - 18/ 13-Apr-2001 03:30 - 19/ 02-May-2001 12:30 - 20/ 17-May-2001 00:08 - 21/ 31-May-2001 11:58 - 22/ 09-Jun-2001 14:49 - 23/ 05-Jul-

  • perl オブジェクト指向 - kozy.heteml.jp

    パッケージの有効範囲 † package 文を宣言した場所から別の package 文が現れるまでまでの範囲。 ↑ 外部ファイルに記述する場合 † 最後に1を返す必要がある。そうしないと読込み側でエラー。 package hoge; sub sub1{ : : } 1; ↑

  • OO, Perl, Ruby

    私はこれで Perl から乗り換えました。 副題 Ruby ホームページの言 『Perlのような手軽さで「楽しく」オブジェクト指向しようという言語です.』 これは正に真なり! Perl はとても強力な言語です。これで書けない処理というのは、ほとんど 無いでしょう。その強力さにひかれて、Programming Perl の日語版が出版 された頃からずっと使い続け、一生?使い続けるだろうと思っていました。 しかし、昨年(1997)末に Ruby を試してみたところ、その素晴らしさにあっ さりと乗り換えてしまったのです! あれほど強力な言語から簡単に乗り換えさせてしまうとは、なんと凄い言 語でしょう。Perl ユーザーでない方にはちょっとわかりにくくなるかもしれ ませんが、その素晴らしさを Perl と比較して紹介します。 [INDEX] [Ruby HOME] 1. 基的な書き方 まず最初

  • naoya.dyndns.org is offline

    naoya.dyndns.org is currently offline. Please try again later. Questions about our services? Learn more at Dyn.com.

  • 404 Blog Not Found:perl - 万能なnewの書き方

    2007年04月23日22:45 カテゴリLightweight Languages perl - 万能なnewの書き方 Perl 5のOOは、慣れてしまうと簡単だ。 継承とか考えずに、普通にクラスを作りたければ、必要なのは以下の二行だけ。 package Klass; sub new { bless {} }; これだけでは何もできないので、とりあえずnameというアクセサーを追加してみる。これだけ。 sub name { my $self = shift; $self->{name} = shift if @_; return $self->{name}; } しかし、上の形式だと、継承をサポートしていない。だから、 package Klass; sub new { bless {} }; package Klass::Sub; our @ISA = qw/Klass/; # new

    404 Blog Not Found:perl - 万能なnewの書き方
  • I, newbie » Mooseによるオブジェクト指向Perl

    Mooseは”an extension of the Perl 5 object system”だそうで、なんかすごいらしい。使ってみるとattributeやaccessorの追加も簡単で、型の確認も自動でやってくれてrobustなclassを作るのに便利。attributeがarrayやhashのreferenceだったら、contextに応じて自動的にdereferenceしてくれるとか、extendやoverrideがやりやすいとか、他にもいろいろあるらしい。Mooseは自動的にhash-basedのobjectを作ってくれる。methodを追加する方法も古典的なPerl5のOOPと同じ。 package Foo; use strict; use warnings; use Moose; sub say { my ($self, $str) = @_; print "$str\n";

  • Software Error

    Software Error:Wikiが存在しません。 at /home/groups/a/am/amateras/cgi-bin/fswiki/wiki.cgi line 59.

  • perltoot - トムによるPerlオブジェクト指向チュートリアル パッケージ モジュール

    名前¶ perltoot - トムによるPerlオブジェクト指向チュートリアル 概要¶ Object-oriented programming is a big seller these days. Some managers would rather have objects than sliced bread. Why is that? What's so special about an object? Just what is an object anyway? オブジェクト指向プログラミングは、昨今の、ビッグセラーです。 マネージャーには、薄切りパン(訳註:良い発明のこと)よりもむしろオブジェクトを持ちたがる人もいます。 どうしてでしょうか? オブジェクトの、何がそんなに特別なんでしょうか? そもそも、オブジェクトとは一体なんでしょうか? An object is nothing