U⁄A LABO

RSS

SEARCH

AUTHOR

  • Naoki Muramatsu (1件) Twitter:@Stryfy.

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

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

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

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

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

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

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