Dart-programming-interfaces

提供:Dev Guides
移動先:案内検索

Dartプログラミング-インターフェイス

*interface* は、エンティティが従わなければならない構文を定義します。 インターフェイスは、オブジェクトで使用できるメソッドのセットを定義します。 Dartには、インターフェイスを宣言するための構文がありません。 クラス宣言自体は、Dartのインターフェースです。
  • クラス*は、インターフェイスを使用できるようにimplementsキーワードを使用する必要があります。 実装クラスには、実装されたインターフェースのすべての機能の具体的な実装を提供することが必須です。 言い換えれば、クラスは実装したいインターフェースのすべての関数を再定義しなければなりません。

構文:インターフェースの実装

class identifier implements interface_name

次のプログラムでは、クラス Printer を宣言しています。 ConsolePrinter クラスは、 Printer クラスの暗黙的なインターフェイス宣言を実装します。 main 関数は、 new キーワードを使用して ConsolePrinter クラスのオブジェクトを作成します。 このオブジェクトは、 ConsolePrinter クラスで定義された関数 print_data を呼び出すために使用されます。

void main() {
   ConsolePrinter cp= new ConsolePrinter();
   cp.print_data();
}
class Printer {
   void print_data() {
      print("__________Printing Data__________");
   }
}
class ConsolePrinter implements Printer {
   void print_data() {
      print("__________Printing to Console__________");
   }
}

次の output が生成されるはずです-

__________Printing to Console__________

複数のインターフェースの実装

クラスは複数のインタフェースを実装できます。 インターフェイスはコンマで区切られます。 同じための*構文*は以下に示されています-

class identifier implements interface-1,interface_2,interface_4…….

次の*例*は、Dartで複数のインターフェイスを実装する方法を示しています-

void main() {
   Calculator c = new Calculator();
   print("The gross total : ${c.ret_tot()}");
   print("Discount :${c.ret_dis()}");
}
class Calculate_Total {
   int ret_tot() {}
}
class Calculate_Discount {
   int ret_dis() {}
}
class Calculator  implements Calculate_Total,Calculate_Discount {
   int ret_tot() {
      return 1000;
   }
   int ret_dis() {
      return 50;
   }
}

次の output が生成されるはずです-

The gross total: 1000
Discount:50