La programación orientada a objetos (OOP) es un paradigma de programación que utiliza la idea de "objetos" para representar datos y métodos. Esto es particularmente útil cuando se trata de crear aplicaciones complejas, ya que permite a los desarrolladores organizar mejor su código y hacerlo más reutilizable. En esta sección, presentaremos el concepto de programación orientada a objetos en Dart, el lenguaje de programación utilizado por Flutter.

1. Clases y Objetos

En programación orientada a objetos, una clase es un modelo o plantilla a partir del cual se crean objetos. En Dart, defines una clase usando la palabra clave class. Por ejemplo, es posible que tenga una clase llamada Persona que tenga propiedades como name y age. Una vez que tengas una clase, puedes crear un objeto a partir de ella. Por ejemplo:

clase Persona {
  Nombre de cadena;
  entero;
}

vacío principal() {
  Persona persona = Persona();
  persona.nombre = 'Juan';
  persona.edad = 30;
}

En este ejemplo, Persona es la clase y persona es el objeto. Tenga en cuenta que puede asignar valores a las propiedades de los objetos utilizando la notación de puntos.

2. Métodos

Los métodos son funciones que pertenecen a una clase. Suelen manipular las propiedades de la clase. Por ejemplo, es posible que tengas un método greet en la clase Person que imprima un saludo personalizado:

clase Persona {
  Nombre de cadena;
  entero;

  saludo vacío() {
    print('Hola, soy $nombre y tengo $edad años.');
  }
}

vacío principal() {
  Persona persona = Persona();
  persona.nombre = 'Juan';
  persona.edad = 30;
  persona.saludar(); // prints: Hola, soy John y tengo 30 años.
}

3. Constructores

Un constructor es un método especial que se llama cuando se crea un objeto a partir de una clase. En Dart, el constructor tiene el mismo nombre que la clase. Puede utilizar el constructor para inicializar las propiedades del objeto. Por ejemplo:

clase Persona {
  Nombre de cadena;
  entero;

  Persona (nombre de cadena, edad int) {
    this.nombre = nombre;
    this.age = edad;
  }

  saludo vacío() {
    print('Hola, soy $nombre y tengo $edad años.');
  }
}

vacío principal() {
  Persona persona = Persona('Juan', 30);
  persona.saludar(); // prints: Hola, soy John y tengo 30 años.
}

En este ejemplo, el constructor Person acepta dos parámetros y los utiliza para inicializar las propiedades name y age.

4. Herencia

La herencia es una característica de la programación orientada a objetos que permite que una clase herede propiedades y métodos de otra clase. En Dart, utiliza la palabra clave extends para crear una clase secundaria. Por ejemplo, podría tener una clase Empleado que hereda de Persona:

clase Persona {
  Nombre de cadena;
  entero;

  Persona (nombre de cadena, edad int) {
    this.nombre = nombre;
    this.age = edad;
  }

  saludo vacío() {
    print('Hola, soy $nombre y tengo $edad años.');
  }
}

clase Empleado extiende Persona {
  Compañía de cuerdas;

  Empleado(nombre de cadena, int edad, esta.empresa): super(nombre, edad);
}

vacío principal() {
  Empleado empleado = Empleado('John', 30, 'Google');
  empleado.saludar(); // prints: Hola, soy John y tengo 30 años.
  print(empleado.empresa); // imprime: Google
}

En este ejemplo, Employee es una clase secundaria de Person y hereda sus propiedades y métodos. Tenga en cuenta el uso de super en el constructor Employee para llamar al constructor Persona.

5. Encapsulación

La encapsulación es el principio de ocultar los detalles de implementación y permitir el acceso solo a través de métodos. En Dart, puede utilizar la palabra clave _ (guión bajo) para hacer que una propiedad o método sea privado. Por ejemplo:

clase Persona {
  Cadena _nombre;
  int _edad;

  Persona(este._nombre, este._edad);

  saludo vacío() {
    print('Hola, soy $_name y tengo $_age años.');
  }
}

vacío principal() {
  Persona persona = Persona('Juan', 30);
  persona.saludar(); // prints: Hola, soy John y tengo 30 años.
}

En este ejemplo, las propiedades _name y _age son privadas, lo que significa que no se puede acceder a ellas fuera de la clase Person.

Estos son los conceptos básicos de la programación orientada a objetos en Dart. Forman la base para crear aplicaciones Flutter más complejas y reutilizables.

Ahora responde el ejercicio sobre el contenido:

¿Cuál es el propósito de un constructor en programación orientada a objetos en Dart?

¡Tienes razón! Felicitaciones, ahora pasa a la página siguiente.

¡Tú error! Inténtalo de nuevo.

Imagen del artículo Introducción a la programación orientada a objetos en Dart: Introducción a la programación orientada a objetos

Siguiente página del libro electrónico gratuito:

57Introducción a la programación orientada a objetos en Dart: Introducción a la programación orientada a objetos

2 minutos

¡Obtén tu certificado para este curso gratis! descargando la aplicación Cursa y leyendo el libro electrónico allí. ¡Disponible en Google Play o App Store!

Disponible en Google Play Disponible en App Store

+ 6,5 millones
estudiantes

Certificado gratuito y
válido con código QR

48 mil ejercicios
gratis

Calificación de 4.8/5
en tiendas de aplicaciones

Cursos gratuitos de
vídeo, audio y texto.