クラスは複数のインタフェースを実装します

ミックスインクラスは唯一のオブジェクトから継承することができて1、あなたは他のクラスから継承することはできません

2、クラスがミックスインのコンストラクタを持っていないかもしれません

継承のための言い訳より

抽象クラスA {
    文字列の名前。
    printA(); 
} 
抽象クラスB { 
    printB()。
} 
クラスCは、B {実装
    @Override 
    文字列名を、
    @Override 
    printA(){ 
        プリント( 'A' )。
    } 
    printB(){ 
        プリント( 'B' )。
    } 
} 
メイン(){} 
    CのC = 新しいC(); 
    c.printA(); 
}

ミックスインでのダートは、ミックスインが継承されていない、同様の機能を実現するために、複数の継承に使用される、NORインターフェースであることができます

{クラス
    ストリングfanrenの = '迷惑' ;
     ボイドPrinta(){ 
        プリント( 'A' ); 
    } 
} 
クラスB { 
    ボイドprintB(){ 
        プリント( 'B' ); 
    } 
} 
クラスC  A、B { // Cその後、B、すべてのメソッドの
    VARの C = 新しい新しいC(); 
    c.printA(); 
    プリント(c.fanren); 
} 
// ミックスインクラスは、オブジェクトから継承することができるようにより多くの場合、クラスは、(他のを継承することができません他の継承クラスは、Cは、もはやその場合にミックスインである方法がない、ミックスインを有する決してaの化合物。表、Bを継承することができます)
クラスPerson { 
    文字列名。
    num個の年齢; 
    人(この .nameの、この.age)。
  印刷(){ 
    印刷( '$(this.name')); 
  } 
} 
クラスA { 
    文字列情報 =「これはAです」ボイドprintA(){ 
        プリント( 'A' )。
    } 
} 
クラスB { 
    ボイドprintB(){ 
        プリント( 'B' )。
    } 
} 
クラスCは、人に延在するとともにA、B { 
    C(文字列名、NUM年齢):スーパー(名前、年齢)。
}
// A、B、その後、連続の順序に従って、最終工程が上書きさB Aと同様の方法が存在する場合

 

おすすめ

転載: www.cnblogs.com/xhrr/p/11443637.html