Introducción

En este módulo, aprenderemos sobre uno de los conceptos fundamentales de la Programación Orientada a Objetos (POO): las clases y los objetos. Estos conceptos son esenciales para estructurar y organizar el código de manera eficiente y modular.

Objetivos

  • Comprender qué son las clases y los objetos.
  • Aprender a definir y utilizar clases en C++.
  • Entender la relación entre clases y objetos.
  • Implementar ejemplos prácticos de clases y objetos.

Conceptos Clave

Clases

Una clase es una plantilla o un plano para crear objetos. Define un conjunto de propiedades (atributos) y métodos (funciones) que los objetos creados a partir de la clase pueden tener.

Objetos

Un objeto es una instancia de una clase. Cuando se crea un objeto, se asigna memoria para almacenar sus atributos y se pueden utilizar sus métodos.

Definición de una Clase

En C++, una clase se define utilizando la palabra clave class, seguida del nombre de la clase y un bloque de código que contiene los atributos y métodos.

class Persona {
public:
    // Atributos
    std::string nombre;
    int edad;

    // Métodos
    void mostrarInformacion() {
        std::cout << "Nombre: " << nombre << ", Edad: " << edad << std::endl;
    }
};

Explicación del Código

  • class Persona: Define una nueva clase llamada Persona.
  • public: Especifica que los miembros siguientes son accesibles desde fuera de la clase.
  • std::string nombre: Un atributo de tipo cadena para almacenar el nombre de la persona.
  • int edad: Un atributo de tipo entero para almacenar la edad de la persona.
  • void mostrarInformacion(): Un método que imprime la información de la persona.

Creación de Objetos

Para crear un objeto de una clase, se declara una variable de tipo de la clase y se utiliza el operador de punto (.) para acceder a sus atributos y métodos.

int main() {
    // Crear un objeto de la clase Persona
    Persona persona1;

    // Asignar valores a los atributos
    persona1.nombre = "Juan";
    persona1.edad = 30;

    // Llamar al método
    persona1.mostrarInformacion();

    return 0;
}

Explicación del Código

  • Persona persona1;: Crea un objeto llamado persona1 de la clase Persona.
  • persona1.nombre = "Juan";: Asigna el valor "Juan" al atributo nombre del objeto persona1.
  • persona1.edad = 30;: Asigna el valor 30 al atributo edad del objeto persona1.
  • persona1.mostrarInformacion();: Llama al método mostrarInformacion del objeto persona1.

Ejercicio Práctico

Ejercicio 1

Define una clase Coche con los siguientes atributos y métodos:

  • Atributos:

    • marca (cadena)
    • modelo (cadena)
    • año (entero)
  • Métodos:

    • mostrarDetalles(): Imprime los detalles del coche.

Crea un objeto de la clase Coche, asigna valores a sus atributos y llama al método mostrarDetalles.

Solución

#include <iostream>
#include <string>

class Coche {
public:
    std::string marca;
    std::string modelo;
    int año;

    void mostrarDetalles() {
        std::cout << "Marca: " << marca << ", Modelo: " << modelo << ", Año: " << año << std::endl;
    }
};

int main() {
    // Crear un objeto de la clase Coche
    Coche coche1;

    // Asignar valores a los atributos
    coche1.marca = "Toyota";
    coche1.modelo = "Corolla";
    coche1.año = 2020;

    // Llamar al método
    coche1.mostrarDetalles();

    return 0;
}

Explicación del Código

  • class Coche: Define una nueva clase llamada Coche.
  • std::string marca; std::string modelo; int año;: Define los atributos marca, modelo y año.
  • void mostrarDetalles(): Define un método que imprime los detalles del coche.
  • Coche coche1;: Crea un objeto llamado coche1 de la clase Coche.
  • coche1.marca = "Toyota"; coche1.modelo = "Corolla"; coche1.año = 2020;: Asigna valores a los atributos del objeto coche1.
  • coche1.mostrarDetalles();: Llama al método mostrarDetalles del objeto coche1.

Conclusión

En esta sección, hemos aprendido sobre las clases y los objetos en C++. Hemos visto cómo definir una clase, crear objetos y utilizar sus atributos y métodos. Estos conceptos son fundamentales para la Programación Orientada a Objetos y nos permitirán estructurar nuestro código de manera más eficiente y modular.

En el próximo tema, exploraremos los constructores y destructores, que son métodos especiales utilizados para inicializar y limpiar objetos.

© Copyright 2024. Todos los derechos reservados