Forked from: littlepad's オブ脳 演習その2「給料はいくら?」 diff:13 オブ脳 演習その3「取締役を追加」 littlepad forked:0favorite:0lines:59license : MIT License modified : 2011-03-12 23:16:59 Embed Tweet // forked from littlepad's オブ脳 演習その2「給料はいくら?」 // forked from littlepad's オブ脳 演習その1「社長命令・起立!」 package { import flash.display.Sprite; import flash.text.TextField; public class Shacho extends Sprite { private var _tf:TextField; public function Shacho() { _tf = new TextField(); _tf.width = 200; addChild(_tf); var shain:Shain; //shain = new Tanto(); //shain = new Shunin(); //shain = new Bucho(); shain = new Torishimariyaku(); _tf.text = shain.standup(); _tf.appendText("\n"); var kihonkyu:uint = 100; var kyuryo:uint = shain.getKyuryo(kihonkyu); _tf.appendText("私の給料は" + kyuryo + "円です。"); } } } internal interface Shain { function standup():String; function getKyuryo(kihonkyu:uint):uint; } internal class Tanto implements Shain { public function Tanto(){} public function standup():String { return "担当が普通に起立しました。"; } public function getKyuryo(kihonkyu:uint):uint { return kihonkyu; } } internal class Shunin implements Shain { public function Shunin(){} public function standup():String { return "主任がすばやく起立しました。"; } public function getKyuryo(kihonkyu:uint):uint { return kihonkyu * 2 + 1; } } internal class Bucho implements Shain { public function Bucho(){} public function standup():String { return "部長がだるそうに起立しました。"; } public function getKyuryo(kihonkyu:uint):uint { return kihonkyu * 3; } } internal class Torishimariyaku implements Shain { public function Torishimariyaku(){} public function standup():String { return "取締役がふんぞりかえって立ちました。"; } public function getKyuryo(kihonkyu:uint):uint { return kihonkyu * 4 + 2; } } Code Fullscreen Preview Fullscreen appendText width TextField String text addChild Sprite uint