Ad
1: 2016-03-10 (木) 10:05:17 njf ソース バックアップ No.1 を復元して編集 2: 2016-03-10 (木) 11:39:13 njf ソース バックアップ No.2 を復元して編集
Line 8: Line 8:
 class TestClass{  class TestClass{
-     prm1:number+     prm1:number;
     constructor(arg:number){      constructor(arg:number){
Line 28: Line 28:
 class TestClass{  class TestClass{
-     prm1:number+     prm1:number;
     constructor(arg:number){      constructor(arg:number){
Line 52: Line 52:
 testExtended.showNumber(); // => 3です  testExtended.showNumber(); // => 3です
 +*アクセス修飾子 [#e79aed65]
 +アクセス修飾子は「public」と「private」がある。省略したときはpublicが採用される。
 +publicはどこからでもアクセス可能で、privateはそのクラスの中からのみアクセス可能。privateを指定すると継承したクラスからもアクセスできない。たとえば上の例で
-*アクセス修飾子 [#e79aed65]+ private prm1:number; 
 + 
 +とすると、継承したクラスでprm1にアクセスしているため、エラーが発生する。 
 + 
 +**引数のアクセス修飾子 [#y3ce730b] 
 + 
 +アクセス修飾子をコンストラクタの引数で使うとクラスプロパティの初期化のシンタックスシュガーとなる。つまり 
 + 
 + class TestClass{ 
 + 
 +   constructor(public prm1:number){ } 
 + 
 + } 
 + 
 +と 
 + class TestClass{ 
 +   prm1:number; 
 + 
 +   constructor(arg:number){ 
 +       this.prm1 = arg; 
 + } 
 + 
 +は同じである。ただしコンストラクタ以外の引数でアクセス修飾子は使えない。 
 + 
 +*アクセサー [#haa297e3] 
 +getやsetといったアクセサーが使える。ただし、ECMAScript 5でないと対応していないため、コンパイル時に設定が必要。また対応していないブラウザでエラーが出るかも。 
 + 
 + tsc -t ES5 yourfile.ts 
 + 
 +文法は以下の通り。 
 + 
 + class TestClass{ 
 +     private _prm1:number; 
 + 
 +     get prm1():number{ 
 +         return this._prm1; 
 +     } 
 +     set prm1(p:number){ 
 +         this._prm1 = p; 
 +     } 
 + 
 + 
 +     showNumber():void{ 
 +         alert(this.prm1  + "です"); 
 +     } 
 + 
 + } 
 + var tc:TestClass = new TestClass(); 
 + tc.prm1 = 10; 
 + tc.showNumber() // => 10です 
 + 
 + 
 +(この記事は制作中です)


トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード印刷に適した表示   ページ新規作成 全ページ一覧 単語検索 最新ページの一覧   ヘルプ   最新ページのRSS 1.0 最新ページのRSS 2.0 最新ページのRSS Atom Powered by xpWiki
Counter: 1854, today: 1, yesterday: 0
MenuBar
広告

ログイン

ユーザー名:


パスワード:





パスワード紛失

Portuguese | English | German | Greek | Japanese | Korean | Russian | T-Chinese top
NJF