Programación de dardos: interfaces

Un interfacedefine la sintaxis a la que debe adherirse cualquier entidad. Las interfaces definen un conjunto de métodos disponibles en un objeto. Dart no tiene una sintaxis para declarar interfaces. Las declaraciones de clase son en sí mismas interfaces en Dart.

Classesdebe usar la palabra clave implements para poder usar una interfaz. Es obligatorio que la clase de implementación proporcione una implementación concreta de todas las funciones de la interfaz implementada. En otras palabras, una clase debe redefinir todas las funciones de la interfaz que desea implementar.

Sintaxis: implementación de una interfaz

class identifier implements interface_name

Ejemplo

En el siguiente programa, estamos declarando una clase Printer. losConsolePrinter La clase implementa la declaración de interfaz implícita para el Printerclase. losmain La función crea un objeto de la ConsolePrinter clase usando el newpalabra clave. Este objeto se utiliza para invocar la funciónprint_data definido en el ConsolePrinter clase.

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__________"); 
   } 
}

Debería producir lo siguiente output -

__________Printing to Console__________

Implementación de múltiples interfaces

Una clase puede implementar múltiples interfaces. Las interfaces están separadas por una coma. lossyntax porque lo mismo se da a continuación:

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

El seguimiento example muestra cómo puede implementar múltiples interfaces en 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; 
   } 
}

Debería producir lo siguiente output -

The gross total: 1000 
Discount:50