Programación orientada a objetos
Clase 34 de 56 • 21 Días de Python
Contenido del curso
La programación orientada a objetos (POO) en Python, se encuentra totalmente soportada y se utiliza ampliamente en el desarrollo de aplicaciones. Aquí te contamos a detalle más acerca de este paradigma:
class, seguida del nombre de la clase:class MiClase: # Definición de propiedades y métodos de la clase
Para crear un objeto a partir de una clase, se utiliza la siguiente sintaxis:
objeto = MiClase()
objeto.atributo:class MiClase: variable_de_clase = "Compartida por todos los objetos" def __init__(self): self.variable_de_instancia = "Propia de cada objeto" objeto = MiClase() print(objeto.variable_de_instancia) # Output: "Propia de cada objeto" print(objeto.variable_de_clase) # Output: "Compartida por todos los objetos"
self, que hace referencia al objeto en sí mismo. A través de self, se puede acceder a los atributos y otros métodos de la clase:class MiClase: def mi_metodo(self): print("Hola desde el método") objeto = MiClase() objeto.mi_metodo() # Output: "Hola desde el método"
__init__() y se utiliza para inicializar los atributos de la clase. Los parámetros que recibe el constructor son aquellos que se deben pasar al crear un objeto:class MiClase: def __init__(self, parametro): self.atributo = parametro objeto = MiClase("Valor del atributo") print(objeto.atributo) # Output: "Valor del atributo"
class seguida del nombre de la subclase y entre paréntesis el nombre de la superclase:class ClaseBase: # Definición de la clase base class SubClase(ClaseBase): # Definición de la subclase
class Animal: def sonido(self): pass class Perro(Animal): def sonido(self): print("Guau!") class Gato(Animal): def sonido(self): print("Miau!") def hacer_sonar(animal): animal.sonido() perro = Perro() gato = Gato() hacer_sonar(perro) # Output: "Guau!" hacer_sonar(gato) # Output: "Miau!"
La programación orientada a objetos en Python se basa en la creación de clases y objetos, donde las clases son plantillas que definen atributos y métodos, y los objetos son instancias de esas clases.