La programación orientada a objetos es un modelo de programación en el que el diseño de software se organiza alrededor de datos u objetos, en vez de usar funcione
Que es un objecto
En el mundo real estamos rodeados de objectos : tu taza de café tu teléfono tu
bicicleta
class Coche:
# Constructor de la clase
def init(self, marca, modelo):
self.marca = marca
self.modelo = modelo
# Método para describir el coche
def describir(self):
return f"Este coche es un {self.marca} {self.modelo}"
Creación de un objecto
Una ves que tengas una clase puedes crear objectos específicos o instancias de esa
clase
Ejemplo mi_coche = Coche("Toyota", "Corolla")
print(mi_coche.describir()) # Salida: Este coche es un Toyota Corolla
Clase los moldes de los objectos
La definición anterior bes lo que llamamos una clase
Piensa en la clase de coche como plano que nos dice como debería ser cada coche de
fabrica en término de programación
Herencia tomando lo mejor de nosotros
Cunado hablamos de familia a menudo escuchamos que alguien le heredó los color de ojos de su madre o el talento musical de su padre
En POO la herencia permite que una clase . Es como si una nueva receta de galletas tomara ingredientes de una receta anterior y agregara algo más
class CocheElectrico(Coche):
def init(self, marca, modelo, autonomia):
super().init(marca, modelo)
self.autonomia = autonomia
def autonomia_restante(self, distancia_recorrida):
return self.autonomia - distancia_recorrida
Polimorfo una función, mocho más
El polimorfismo se refiere a la capacidad de diferentes clases de ser tratadas como instancias de la misma clase a través de la herencia. Es una forma elegante de decir que diferentes objetos pueden realizar una acción de la misma manera.
Considerando las clases anteriores, aunque Coche y CocheElectrico son diferentes, ambos pueden usar el mismo método describir(). Este es un simple ejemplo de polimorfismo.