ダートミックスイン

/ * 
中国でのミックスインは、それがクラスの他の機能と混合され、混合を意味します。

ダートミックスインはキーワードで、同様の機能を実現するために、複数の継承に使用することができます


:ダートバージョンで使用するのミックスイン条件は、Dart2.x使用ミックスインの状況について話ここでは、変更されているので、

  1ミックスインクラスとしてのみ、 Objectから継承され、クラスが他の継承できない
  ミックスインクラスのコンストラクタできるように、2つの
  3、クラスのミックスインのミックスインクラスの複数の
  。4、継承されないミックスイン、NORインターフェースが、新しいプロパティ
* / 

クラス{
   文字列情報= "これは" ; 
  ボイドPrinta(){ 
    印刷( "A" ); 
  } 
} 

クラスB { 
  ボイドprintB(){ 
    印刷( "B" ); 
  } 
} 

クラス AとC B { 
  
} 

メインボイド(){ 
  
  VARの C = 新しい新C();  
  C印刷(); 
  CprintB();
  プリント(C。程度)。


}
/ * 
中国でのミックスインは、それがクラスの他の機能と混合され、混合を意味します。

あなたが同様の機能を実現するためにダート多重継承でミックスインを使用することができます


:使用ミックスインの条件として、バージョンとダートはミックスインを使用Dart2.xの条件について話ここでは、変更されている

  1、ミックスインクラスはObjectからのみ継承できますようない他のクラスを継承
  しないミックスインクラスのコンストラクタとして、2 
  3、クラスミックスインのミックスインクラスの複数
  4、ミックスインは継承されない、NORインターフェースが、新しいプロパティ
* / 

クラス人{
   文字列名; 
  NUM年齢; 
  人(この .nameが、これ。年齢); 
  PRINTINFO(){ 
    印刷( '$ ---- $ {} {this.name this.age}' ); 
  } 
  無効RUN(){ 
    印刷( "実行者「); 
  } 
} 

クラスA {
   文字列情報=」これは"
  ボイドPrinta(){ 
    印刷( "A" ); 
  } 
  ボイドRUN(){ 
    印刷( "実行" ); 
  } 
} 

クラスB {   
  ボイドprintB(){ 
    印刷( "B" ); 
  } 
  ボイドRUN(){ 
    プリント(「ランB」); 
  } 
} 

クラス Cのザは延び Bを持つ人を、{ // 同じ方法であれば後ろに実行される処理であり、B誰 
  C(文字列名、年齢NUM):スーパー(名前、年齢); 
  
} 

ボイドメイン(){   
  VARの C = 新しい新しい C( 'ジョン・ドウ'、20である);   
  C印刷情報();
  // c.printB(); 
  //プリント(c.info)。

   C実行(); 


}
/ * 
どのようなミックスインのインスタンスタイプ?

非常に単純な、ミックスインの種類のサブタイプは、そのスーパークラスです。

* / 



クラスA {
   文字列情報= "これは" ; 
  ボイドPrinta(){ 
    印刷( "A" ); 
  } 
} 

クラスB { 
  ボイドprintB(){ 
    印刷( "B" ); 
  } 
} 

クラス AとC、{B 
  
} 

ボイドメイン(){   
   VARの C = 新しい新しいC();   
   
  プリント(C Cである。);     // trueに
  プリント(Cである。);     // trueに
  プリント(B Cである。);    // trueに


  //するvar A =新しいA(); 

  //プリント(ISオブジェクト)。


}

 

おすすめ

転載: www.cnblogs.com/loaderman/p/11026875.html