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