En dart, la subclase puede heredar todas las variables y métodos de la clase principal, con el uso de la palabra clave extends , pero no puede heredar el constructor de la clase principal. Para hacerlo, hacemos uso del superconstructor en el dardo. Hay dos formas de llamar al superconstructor:
- Implícitamente
- Explícitamente
Cuando llamamos explícitamente, hacemos uso del superconstructor como:
Child_class_constructor() :super() { ... }
Súper implícito: en este caso, la clase principal se llama implícitamente, cuando hay una creación de objetos de la clase secundaria. Aquí no hacemos uso del superconstructor, pero cuando se invoca el constructor de la clase secundaria, llama al constructor de la clase principal predeterminado.
Ejemplo: llamando al constructor principal sin tomar parámetros.
Dart
// Dart program for calling parent // constructor taking no parameter class SuperGeek { // Creating parent constructor SuperGeek(){ print("You are inside Parent constructor!!"); } } class SubGeek extends SuperGeek { // Creating child constructor SubGeek(){ print("You are inside Child constructor!!"); } } void main() { SubGeek geek = new SubGeek(); }
Producción:
You are inside Parent constructor!! You are inside Child constructor!!
Super explícito: si el constructor principal es predeterminado, lo llamamos como sigue en super implícito, pero si toma parámetros, la superclase se invoca como se muestra en la sintaxis mencionada anteriormente.
Ejemplo: llamando al constructor padre tomando parámetro(s).
Dart
class SuperGeek { // Creating parent constructor SuperGeek(String geek_name){ print("You are inside Parent constructor!!"); print("Welcome to $geek_name"); } } class SubGeek extends SuperGeek { // Creating child constructor // and calling parent class constructor SubGeek() : super("Geeks for Geeks"){ print("You are inside Child constructor!!"); } } void main() { SubGeek geek = new SubGeek(); }
Producción:
You are inside Parent constructor!! Welcome to Geeks for Geeks You are inside Child constructor!!
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