1: 2016-03-10 (木) 10:05:17 njf[5] [6] [7] | |||
---|---|---|---|
Line 1: | Line 1: | ||
+ | 内容は公式ページとだいたい同じなので、そちらも参照のこと。 | ||
+ | [[http://www.typescriptlang.org/Handbook]] | ||
+ | *クラスの定義 [#b96dc364] | ||
+ | |||
+ | TypeScriptではプロトタイプベースではない、Javaなどと同様のクラス定義が使える。 | ||
+ | ただし、「this」は省略不可。コンストラクタはクラス名ではなく「constructor」。プロパティやメソッドの定義に「var」や「function」は不要。 | ||
+ | |||
+ | class TestClass{ | ||
+ | prm1:number | ||
+ | |||
+ | constructor(arg:number){ | ||
+ | this.prm1 = arg; | ||
+ | } | ||
+ | showNumber():void{ | ||
+ | alert(this.prm1 + "です"); | ||
+ | } | ||
+ | |||
+ | } | ||
+ | |||
+ | var testClass:TestClass = new TestClass(2); | ||
+ | |||
+ | testClass.showNumber();//=>2です | ||
+ | |||
+ | *継承 [#i01186ac] | ||
+ | |||
+ | extendsを使うと継承も可能。親クラスにはsuperでアクセス。子クラスのコンストラクタは処理が同じなら省略可能。 | ||
+ | |||
+ | class TestClass{ | ||
+ | prm1:number | ||
+ | |||
+ | constructor(arg:number){ | ||
+ | this.prm1 = arg; | ||
+ | } | ||
+ | showNumber():void{ | ||
+ | alert(this.prm1 + "です"); | ||
+ | } | ||
+ | |||
+ | } | ||
+ | |||
+ | class TestExtended extends TestClass{ | ||
+ | |||
+ | showNumber(){ | ||
+ | this.prm1 ++; | ||
+ | super.showNumber(); | ||
+ | } | ||
+ | } | ||
+ | |||
+ | |||
+ | var testExtended:TestExtended = new TestExtended(2); | ||
+ | |||
+ | testExtended.showNumber(); // => 3です | ||
+ | |||
+ | |||
+ | |||
+ | *アクセス修飾子 [#e79aed65] |
(This host) = https://njf.jp