Dart permite al usuario crear una clase invocable que permite llamar a la instancia de la clase como una función . Para permitir que una instancia de su clase Dart se llame como una función, implemente el método call() .
Sintaxis:
class class_name { ... // class content return_type call ( parameters ) { ... // call function content } }
En la sintaxis anterior, podemos ver que para crear una clase invocable tenemos que definir un método de llamada con un tipo de devolución y parámetros dentro de él.
Ejemplo 1: Implementación de una clase invocable en Dart.
Dart
// Creating Class GeeksForGeeks class GeeksForGeeks { // Defining call method which create the class callable String call(String a, String b, String c) => 'Welcome to $a$b$c!'; } // Main Function void main() { // Creating instance of class var geek_input = GeeksForGeeks(); // Calling the class through its instance var geek_output = geek_input('Geeks', 'For', 'Geeks'); // Printing the output print(geek_output); }
Producción:
Welcome to GeeksForGeeks!
Debe tenerse en cuenta que Dart no es compatible con varios métodos invocables, es decir, si intentamos crear más de una función invocable para la misma clase, se mostrará un error .
Ejemplo 2: Implementación de múltiples funciones invocables en una clase de Dart.
Dart
// Creating Class GeeksForGeeks class GeeksForGeeks { // Defining call method which create the class callable String call(String a, String b, String c) => 'Welcome to $a$b$c!'; // Defining another call method for the same class String call(String a) => 'Welcome to $a!'; } // Main Function void main() { // Creating instance of class var geek_input = GeeksForGeeks(); // Calling the class through its instance var geek_output = geek_input('Geeks', 'For', 'Geeks'); // Printing the output print(geek_output); }
Producción:
Publicación traducida automáticamente
Artículo escrito por aditya_taparia y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA