Dartインターフェース

インターフェイスは、エンティティが準拠する必要のある構文を定義します。インターフェイスは、オブジェクトで使用できる一連のメソッドを定義します。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
Share

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です