Objetos y Clases
En esta lección, continuaremos explorando los conceptos de objetos y clases en la programación orientada a objetos. Aprenderemos cómo crear múltiples objetos a partir de una misma clase y cómo trabajar con sus atributos y métodos.
Instancias de Clase
Cuando se crea un objeto a partir de una clase, se crea una instancia de esa clase. Cada instancia es independiente y puede tener sus propios valores de atributos.
Ejemplo:
class Coche:
def __init__(self, marca, modelo):
self.marca = marca
self.modelo = modelo
= Coche("Toyota", "Camry")
coche1 = Coche("Honda", "Civic") coche2
En este ejemplo, hemos creado dos instancias de la clase “Coche” (coche1 y coche2) con diferentes valores de atributos “marca” y “modelo”. Atributos de Instancia
Los atributos de instancia son características específicas de un objeto que se almacenan como variables en la instancia. Cada objeto puede tener sus propios valores de atributos.
Ejemplo:
class Estudiante:
def __init__(self, nombre, edad):
self.nombre = nombre
self.edad = edad
= Estudiante("Ana", 20)
estudiante1 = Estudiante("Juan", 22) estudiante2
En este ejemplo, hemos creado dos instancias de la clase “Estudiante” con atributos “nombre” y “edad” que son específicos para cada estudiante.
Métodos de Instancia
Los métodos de instancia son funciones definidas en la clase que operan en los atributos de la instancia. Cada objeto puede llamar a los métodos de instancia para realizar acciones específicas.
Ejemplo:
class Gato:
def __init__(self, nombre):
self.nombre = nombre
def maullar(self):
print(f"{self.nombre} está maullando.")
= Gato("Mittens")
gato1 = Gato("Whiskers")
gato2
gato1.maullar() gato2.maullar()
En este ejemplo, hemos creado dos instancias de la clase “Gato” y llamado al método “maullar” en cada gato para que realicen la acción específica.
Crea una clase Rectángulo con atributos “ancho” y “alto”. Luego, implementa un método llamado “calcular_area” que calcule y retorne el área del rectángulo (ancho * alto).
Ejemplo de Clase Rectángulo
Resumen:
En este ejemplo, crearemos una clase llamada “Rectángulo” con atributos “ancho” y “alto”. Implementaremos un método llamado “calcular_area” que calculará y retornará el área del rectángulo (ancho * alto). Luego, crearemos dos instancias de la clase “Rectángulo” con diferentes dimensiones y mostraremos el área de cada rectángulo.
Resolución:
class Rectangulo:
def __init__(self, ancho, alto):
self.ancho = ancho
self.alto = alto
def calcular_area(self):
return self.ancho * self.alto
# Crear dos instancias de Rectangulo
= Rectangulo(5, 10)
rectangulo1 = Rectangulo(3, 7)
rectangulo2
# Calcular el área de cada rectángulo
= rectangulo1.calcular_area()
area1 = rectangulo2.calcular_area()
area2
# Mostrar el área de cada rectángulo
print(f"Área del Rectángulo 1: {area1}")
print(f"Área del Rectángulo 2: {area2}")
Explicación:
- Definimos la clase “Rectangulo” con un constructor init que toma dos argumentos: “ancho” y “alto”. Estos argumentos se utilizan para inicializar los atributos de instancia “ancho” y “alto”.
- Implementamos un método de instancia llamado “calcular_area” que calcula el área del rectángulo multiplicando el ancho por el alto y lo retorna.
- Creamos dos instancias de la clase “Rectangulo” con diferentes dimensiones (5x10 y 3x7).
- Calculamos el área de cada rectángulo llamando al método “calcular_area” en cada instancia.
- Mostramos el área de cada rectángulo en la consola.
¿Qué aprendimos?
- Aprendimos los conceptos fundamentales de la Programación Orientada a Objetos (POO).
- Comprendimos cómo definir clases y objetos en Python.
- Practicamos la creación de atributos y métodos de instancia en una clase.
- Realizamos una actividad práctica para aplicar los conocimientos adquiridos en la creación de una clase y su uso.