インターフェイスは、エンティティが準拠する必要のある構文を定義します。インターフェイスは、オブジェクトで使用できる一連のメソッドを定義します。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__________");
}
}
上記のコードを実行した後、出力結果は以下のとおりです。
__________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;
}
}
上記のコードを実行した後、出力結果は以下のとおりです。
The gross total: 1000
Discount:50
コメントを残す