interface
Interfaceって何ぞや?
って思ってましたよ。
実装しなければいけないもんを枠として備えている、って感じでしょうか?
package
{
public interface InterfaceTest
{
function sampleTest(str:String = ""):String;
}
}
{
public interface InterfaceTest
{
function sampleTest(str:String = ""):String;
}
}
というインターフェイスがあって、これを実装(implement)するとなった場合
package
{
public class TestClass implements InterfaceTest
{
public function TestClass(str:String="") {}
public function sampleTest(str:String = ""):String
{
return str + "\.unko";
}
}
}
{
public class TestClass implements InterfaceTest
{
public function TestClass(str:String="") {}
public function sampleTest(str:String = ""):String
{
return str + "\.unko";
}
}
}
となるわけで、このTestClassにsampleTest()がなければ、エラーになる。
インターフェイスに、もし、
public function sample02(str:String=""):String
があったとすれば、TestClassにはその記述がないので、エラーになる。
ほほう。
「絶対実装したいメソッドやらを入れなくてはいけない」場合、「入れ忘れ防止」になるわけですねー。
ほほほう。
上のインターフェイス・クラスを使って
package
{
import flash.display.Sprite;
import flash.text.TextField;
public class Main extends Sprite
{
public function Main():void
{
init();
}
private function init():void
{
var unko:TestClass = new TestClass();
var tf:TextField = new TextField();
tf.text = unko.sampleTest("unko");
addChild(tf);
}
}
}
{
import flash.display.Sprite;
import flash.text.TextField;
public class Main extends Sprite
{
public function Main():void
{
init();
}
private function init():void
{
var unko:TestClass = new TestClass();
var tf:TextField = new TextField();
tf.text = unko.sampleTest("unko");
addChild(tf);
}
}
}
をつくってやると・・・
[study] – interface – wonderfl build flash online
こうなるわけですね。
ほうほう。
簡単ではありますが、インターフェイスってなんぞ?
のお話。
ちょっと理解しましたよ。