// 1、クラスの定義は、TS / * ES5: 人(名前){機能 this.name =名; this.run =関数(){ にconsole.log(this.name) } } VARのPを=人新しい新しいです( '張「); p.run() * / / * TSクラスを定義: クラス{人物 名:文字列; //プロパティのフロントキーワードは公共省略されている (nはコンストラクタを:文字列){//コンストラクタクラスはインスタンス化されますトリガーの方法とき this.name N- =; } RUN():ボイド{ アラート(this.name); } } VARのp =新しい人( 'ジョン・ドウ'); p.run() * / / * クラス{人物 名:文字列; コンストラクタ(名前:文字列){//コンストラクタクラスのインスタンストリガーの方法 this.nameを名前=; } のgetName():文字列{ this.nameを返す; } のsetName(名:文字列):無効{ this.name =名; } } VARのP =パーソン新新( 'ジョン・ドウ'); 警告(p.getName ()); p.setName( 'ジョン・ドウ'); 警告(p.getName()); * / // 2、スーパーは、拡張におけるTSの継承 // クラス人{ // 名前:文字列。 // コンストラクタ(名:文字列){ // this.name =名; // } // RUN():文字列{ // 戻りthis.name} {$ `運動 // } // } // /の/ var P =新しい人( 'Wangwu'); // //アラート(p.run()) // クラスのWeb人{拡張 // コンストラクタ(名:文字列){ // スーパー(名前を); / *コンストラクタは、親クラス* /初期化 // } // } // VAR新しい新しいウェブW =( 'ジョン・ドウを'); // アラート(w.run()); // メソッド継承されたTS親クラスディスカッションサブクラスとメソッド一貫 // クラス人{ // 名前:文字列; // コンストラクタ(名:文字列){ // this.name =名; // } // RUN():文字列{ // 戻りthis.name} {$ `運動 // } // } // //新しい新VARのP =人( 'Wangwu'); // //アラート(p.run()) // クラスのWeb人{延び // コンストラクタ(名:文字列){ // スーパー(名前); / *親クラスのコンストラクタを初期化する* / // } // RUN():文字列{ // 戻りthis.name} {$ `モーション- subclass` // } // ワーク(){ // 警告( `$ {this.name} working`) // } // } // VAR新しい新しいウェブW =( 'ジョン・ドウ'); // //アラート(w.run()); // // w.work(); // アラート(w.run()); // 私たち3修飾子与えるために時間のプロパティを定義するクラス3つの内部修飾子typescriptです / * パブリック:内部現在のクラスで国民を、子クラスAは、外側がアクセスできる 保護:クラスの外部からアクセスすることができ、現在のクラス、サブクラスがアクセスすることはできません保護のタイプ 現在のクラス、サブクラス、クラスメソッドなし外部アクセス内の専用アクセス:プライベートを 属性でない場合デフォルトの修飾子は、(公衆)公衆に追加されます * / // パブリック:外アクセスすることができ、サブクラス、クラスpublic class // クラス人{ // パブリック名:文字列; / *パブリックプロパティ* / // コンストラクタを(名前:文字列){ // this.name =名; // } // RUN():文字列{ // 戻りthis.name} {$ `motion` // } // } // //新しい新VARのP =人(「WANG 5「); // //アラート(p.run()) // クラスのWeb人{拡張 // コンストラクタ(名:文字列){ // スーパー(名前を); / *親クラスのコンストラクタを初期化します* / / / } // RUN():文字列{ // 戻りthis.name} {$ `モーション- subclass` // } // ワーク(){ // 警告( `$ {this.name} working`) // } // } // VAR新しい新しいウェブW =( 'ジョン・ドウ'); // w.work(); // クラスのパブリック外部アクセス属性 // {Personクラス // パブリック名:文字列; / *パブリックプロパティ* / // コンストラクタ(名:文字列){ // this.name =名; // } // RUN():文字列{ // リターン$ `{モーションthis.name} ` // } // } // VARのP =パーソン新新( 'ヘクタール'); // 警告(p.name); // 保護:保護等級の種類、することができますサブクラスクラスの外部からのアクセスは、アクセスすることはできません // {Personクラス // 保護名:文字列; / *パブリックプロパティ* / // コンストラクタ(名:文字列){ // this.name =名; // } // RUN():文字列{ // リターン$ `{動きthis.name} ` // } // } // VARのP =人新しい新しい( 'Wangwuは'); // アラート(p.run()) // クラスは、Web人{延び // コンストラクタ(名前:文字列){ // スーパー(名); / * * /親クラスのコンストラクタを初期化 // } // ワーク(){ // 警告( `$ {this.name} working`) // } // } // VAR新しい新しいウェブW =( 'ジョン・ドウ11。'); // w.work(); // アラート(w.run( )); // 属性の型にアクセスすることはできません外側の保護外部クラス // クラス人{ // 保護名:文字列; / *保護タイプ* / // コンストラクタ(名:文字列){ // this.name =名; // } // RUN():文字列{ // 戻りthis.name} {$ `motion` // } // } // ( 'ヘクタール')するvar P =人の新しい新しい; // アラート(P.名); //プライベート:プライベートアクセス可能なクラス、サブクラス、クラスメソッドなし外部アクセス // クラス人{ // プライベート名:文字列; / *プライベート* / // コンストラクタ(名:文字列){ // this.name =名前; // } // RUN():文字列{ // 戻りthis.name} {$ `motion` // } // } // クラスのWeb人{拡張 // コンストラクタ(名:文字列){ //を スーパー(名前) // } // 仕事(){ // はconsole.log({$ ``作業this.name}) // } // } {Personクラス プライベート名:文字列; / * プライベート* / コンストラクタ(名:文字列){ この .nameの= 名; } RUN():文字列{ リターン `$ { この.nameのモーション}` } } のvar = P 新新人( 'ヘクタール' ); 警告(p.run());