- 1

Fundamentos de Programación con Python para Principiantes
02:04 - 2

Instalación y Uso Básico de Python en Windows y Mac
08:10 - 3

Semántica y Sintaxis en Programación Python
10:15 - 4
Práctica: Te doy la bienvenida a los ejercicios interactivos
00:00 - 5

Manejo de Cadenas y Operaciones Básicas en Python
13:06 - 6

Tipos de Datos en Python: Enteros, Flotantes y Booleanos
07:22 - 7
Dominio de la función `print` en Python: usos y formatos avanzados
04:00 - 8

Operaciones matemáticas avanzadas en Python: módulo, potencia y más
11:01 - 9

Entrada de información y manejo de tipos de datos en Python
04:53
Programación Orientada a Objetos: Implementación de Clases y Herencia
Clase 26 de 63 • Curso de Python
Contenido del curso
- 23

Programación Orientada a Objetos en Python: Clases y Métodos Básicos
14:11 - 24

Gestión de Biblioteca con Programación Orientada a Objetos
18:07 - 25

Herencia y Polimorfismo en Programación Orientada a Objetos
13:57 - 26

Programación Orientada a Objetos: Implementación de Clases y Herencia
13:10 - 27

Polimorfismo en Programación Orientada a Objetos
06:21 - 28

Herencia y Uso de la Función super() en Python
07:28 - 29
Programación Orientada a Objetos: Atributos, Métodos y `super()` en Python
05:06
- 37
Programación Avanzada en Python: POO, Excepciones y Proyectos
01:45 - 38

Escritura de Código Pytónico y Buenas Prácticas en Python
03:58 - 39

Comentarios y Docstrings: Buenas Prácticas en Programación
07:01 - 40

Tiempo de vida y alcance de variables en Python
14:11 - 41

Anotaciones de Tipo en Python para Código Más Legible
13:12 - 42

Validación de Tipos y Manejo de Excepciones en Python
13:05 - 43

Estructuras de Datos Avanzadas en Python: Collection y Enumeraciones
13:15
- 47

Uso de Métodos Mágicos en Python
06:47 - 48
Sobrecarga de Operadores en Python: Personaliza Comportamiento de Clases
04:18 - 49

Ejecutar scripts Python con `if __name__ == '__main__'`
05:42 - 50

Metaprogramación en Python: Métodos `__new__` y `__init__`
03:59 - 51

Uso de *args y **kwargs en funciones de Python
14:32 - 52

Métodos y Atributos Privados y Protegidos en Python
09:26 - 53

Uso de Property en Python: Getter, Setter y Eliminación de Atributos
07:56 - 54

Métodos estáticos y de clase en Python
07:46
¿Cómo crear clases y herencia en programación orientada a objetos?
La programación orientada a objetos nos permite modelar situaciones del mundo real a través de clases y objetos. En este ejercicio, aprenderemos a crear una estructura básica de clases que representan diferentes tipos de vehículos, incluyendo autos, bicicletas y camiones. Además, añadiremos clases adicionales para simular un concesionario y sus clientes, aprovechando la herencia para fomentar el reuso y la simplicidad en el código.
¿Cómo definir una clase y aplicar herencia?
Comenzamos con la creación de una clase Vehículo que servirá como superclase para nuestras otras clases. Esta clase define los parámetros fundamentales que comparten en común todos los vehículos.
class Vehiculo:
def __init__(self, marca, modelo, precio):
self.marca = marca
self.modelo = modelo
self.precio = precio
self.disponible = True
def iniciar(self):
pass # Implementación específica en clases hijas
def detener(self):
pass # Implementación específica en clases hijas
Creación de subclases: Bicicleta y Camión
Nuestra clase Vehículo puede ser expandida mediante herencia. A continuación, creamos las clases Bicicleta y Camión que heredan de Vehiculo, adaptando las funciones de la superclase a su uso específico.
class Bicicleta(Vehiculo):
def iniciar(self):
print(f"La bicicleta {self.marca} está en marcha")
def detener(self):
print(f"La bicicleta {self.marca} se ha detenido")
class Camion(Vehiculo):
def iniciar(self):
print(f"El motor del camión {self.marca} está en marcha")
def detener(self):
print(f"El motor del camión {self.marca} se ha detenido")
¿Cómo gestionar clientes y concesionarios en un sistema OOP?
Las clases Comprador y Concesionaria permitirán la interacción entre vehículos y clientes dentro del contexto de una tienda.
Implementación de clase Comprador
Esta clase no hereda de ninguna, pero integra la funcionalidad para comprar y consultar vehículos disponibles.
class Comprador:
def __init__(self, nombre):
self.nombre = nombre
self.coleccion_vehiculos = []
def comprar_vehiculo(self, vehiculo):
if vehiculo.disponible:
self.coleccion_vehiculos.append(vehiculo)
vehiculo.disponible = False
print(f"{vehiculo.marca} ha sido añadido a la colección de {self.nombre}")
else:
print(f"Lo siento, el {vehiculo.marca} no está disponible")
Desarrollo de clase Concesionaria
La Concesionaria manejará el inventario de vehículos y el registro de clientes, permitiendo la adición y la visualización del inventario.
class Concesionaria:
def __init__(self):
self.inventario = []
self.clientes = []
def añadir_vehiculo(self, vehiculo):
self.inventario.append(vehiculo)
print(f"{vehiculo.marca} ha sido añadido al inventario")
def registrar_cliente(self, cliente):
self.clientes.append(cliente)
print(f"{cliente.nombre} ha sido registrado como cliente")
def mostrar_vehiculos_disponibles(self):
print("Vehículos disponibles en la tienda:")
for vehiculo in self.inventario:
if vehiculo.disponible:
print(f"Marca: {vehiculo.marca}, Precio: {vehiculo.precio}")
Motivación final
Este sistema básico refleja cómo el paradigma orientado a objetos puede aplicarse para representar situaciones y relaciones complejas de manera eficiente. Con este conocimiento de clases y herencia, estás equipado para crear sistemas más detallados y realistas. ¡Sigue explorando y desarrollando tus habilidades en programación!