タグ

tipsとオブジェクト指向に関するat_homeのブックマーク (2)

  • PHPでなんちゃってMixinを実現してみる | Tricorn Tech Labs

    Tricorn Tech Labs はメールや LINE を用いた Web マーケティング SaaS に強みを持つトライコーン技術者によるブログです。 秋も深くなってきました。秋の夜長いかがお過ごしですか? 今週末はTOEIC試験を控えていますが、何にも勉強はしておりません。とりあえず、自分の英語力がどれだけ低いのかを確認してきたいと思います。こんにちわ。todaです。 最近、まつもとゆきひろさんご著書の「まつもとゆきひろ コードの世界」を拝読しました。rubyの設計・開発を手掛けた方だけあって、言語についての深い知識と考察や歴史が学べて面白かったです。 今回は、その中で気を引いた、"mixin"という多重継承のスマートな使い方をPHPで実現できないかという実験をしてみます。 初めから出鼻をくじきますが、mixinをPHPでそのままの形で実現することはできません。mixinはあくまでも多重

    PHPでなんちゃってMixinを実現してみる | Tricorn Tech Labs
  • PHPで多重継承する方法 - プログラマはサイコロを振らない

    PHPでは言語仕様的に多重継承が許されていません。これは、メソッド名が重複した場合の処置など、多重継承が様々な問題を引き起こしやすいからです(C++でプログラムを書くとよくわかります)。とはいえ、どうしても多重継承をしたい場合というのもあります。そこで、PHPではインタフェースを使って擬似的に多重継承ができるようになっています(Javaでも同じ)。 (このエントリーはクラス、継承、抽象クラスなどについて最低限の知識のある人を対象としています) 以下、インタフェースを用いた擬似的多重継承の方法を説明します。 ClassAとClassB まず、次のような二つのクラス、ClassAとClassBを考えます。 <?php class ClassA { private $a; public function __construct($a){ $this->a=$a; } public functio

    PHPで多重継承する方法 - プログラマはサイコロを振らない
  • 1