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

Capítulo 56

Tiempo estimado de lectura: 5 minutos

+ Ejercicio
Audio Icon

Escuchar en audio

0:00 / 0:00

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:

Continúa en nuestra aplicación.
  • Escuche el audio con la pantalla apagada.
  • Obtenga un certificado al finalizar.
  • ¡Más de 5000 cursos para que explores!
O continúa leyendo más abajo...
Download App

Descargar la aplicación

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.

Siguiente capítulo

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

Arrow Right Icon
Portada de libro electrónico gratuitaCómo crear apps desde cero hasta avanzadas usando Flutter y Dart curso completo
21%

Cómo crear apps desde cero hasta avanzadas usando Flutter y Dart curso completo

5

(3)

267 páginas

Descarga la aplicación para obtener una certificación gratuita y escuchar cursos en segundo plano, incluso con la pantalla apagada.