U⁄A LABO

RSS

SEARCH

AUTHOR

  • KNOCKKNOCK (9件)小遣い2万円のフラッシュデベロッパー。
    帰りが遅いのにキレる嫁をだましだまし制作中・・・。

  • TAKAIW (13件)フラッシュデベロッパー。遊びでゲームを作るのも好きです。外見に似合わないイラストを描くのも好きです。とにかく作るのが好きです。

  • CHIKATHREESIX (7件)メタル界のフラッシュデベロッパー。またある時はメタルギタリスト。オーサリング中もヘッドバンギングは絶やさない。

  • YANBOU (6件)犬と猫で、家が毎日運動会のフラッシュデベロッパー。
    ビールから発泡酒へ変更で節約中。

  • AKUZE (2件)2003年からユナイティアに寄生しているフラッシュデベロッパー。
    シルクドソレイユとカナダが好き。

  • DECO-DEKAI (1件)ビートダウンパートでご飯何杯も食べられます。
    ハードコア・テクニカルディレクターを目指して日々精進。

CATEGORY

HOME  >  インターフェースの多重継承

2010.01.28 TAKAIW

インターフェースの多重継承

最近社内ではインフルエンザが猛威を奮っています。
皆さんもお体をお大事にしてくださいね。

つい最近、現在公開中のコンテンツの改修のお仕事のご相談を
いただきまして、ソースを提供されました。

それをつらつらとチェックしてると、
結構インターフェースを多用していて、なかなかできる人だな
と感心していると、下記のようなソースに出くわしました。

 

interface IHoge extends IBitmapDrawable,IEventDispatcher{
...
}

(IHogeは仮です)

インターフェースの継承についてはもちろん理解していたのですが、
多重継承できるとは思ってなかった...。

確かにインターフェースはクラスの多重継承ができないから
作られたものだと読んだことがありますが、
インターフェースならば多重継承できるんですね。

自前のインターフェースで早速適用してみたら、案の定上手くいきましたね。
Javaでもそうなっているようです。知らんかった...

これで、単機能的なインターフェースを無理やり継承させず、
上手く設計できると思いましたね。
複数の単機能インターフェースを備えたインターフェースを
設計することもできます。
(A,BをそなえたCを作るために
B extends AとしてC extends Bとしたくないので、泣きながら
諦めていたのですが、多重継承だとC extends B,Aとでき、
Bを他のBだけを要するインターフェースおよびクラスに
使うことができます。)
やりたかったんだなぁ、これ。

でも適当に設計するとすぐにぐちゃぐちゃになると思うので
ご注意を。

そのことを話すとインターンのmoriyak君はワクワクしてましたね。
こういう新人がもっと増えるとうれしいですね。

物事は隅々まで読まないとなぁと思いました。

CATEGORY