Please enable JavaScript.
Coggle requires JavaScript to display documents.
4.1 Programación orientada a objetos. - Coggle Diagram
4.1 Programación orientada a objetos.
a programación orientada a objetos (POO) es un paradigma de programación que utiliza "objetos" y sus interacciones para diseñar y programar aplicaciones. Python es un lenguaje que soporta la POO y proporciona las herramientas necesarias para implementarla.
Definición de una Clase
En Python, se define una clase utilizando la palabra clave class:
class Persona:
def
init
(self, nombre, edad):
self.nombre = nombre
self.edad = edad
def saludar(self):
print(f"Hola, me llamo {self.nombre} y tengo {self.edad} años.")
Clases y Objetos
Clase: Una clase es una plantilla para crear objetos. Define un conjunto de atributos y métodos que los objetos de esa clase tendrán.
Objeto: Un objeto es una instancia de una clase. Es una entidad individual con estado y comportamiento definidos por la clase.
Creación de un Objeto
Un objeto se crea llamando a la clase como si fuera una función:
persona1 = Persona("Juan", 30)
persona2 = Persona("Ana", 25)
Atributos y Métodos
Atributos: Son variables que pertenecen a una clase. Se definen dentro del método
init
(el constructor).
Métodos: Son funciones que pertenecen a una clase y se definen dentro de ella. Los métodos típicamente actúan sobre los atributos de la clase.
class Coche:
def
init
(self, marca, modelo):
self.marca = marca
self.modelo = modelo
def detalles(self):
print(f"Marca: {self.marca}, Modelo: {self.modelo}")
Herencia
La herencia permite crear una nueva clase que hereda atributos y métodos de una clase existente.
class Estudiante(Persona):
def
init
(self, nombre, edad, matricula):
super().
init
(nombre, edad)
self.matricula = matricula
def estudiar(self):
print(f"{self.nombre} está estudiando.")
Polimorfismo
El polimorfismo permite usar una misma interfaz para diferentes tipos de datos. En Python, esto se puede lograr definiendo métodos en una clase padre que son sobrescritos en las clases hijas.
Encapsulamiento
El encapsulamiento oculta los detalles internos de una clase y solo expone una interfaz limitada. En Python, se pueden usar guiones bajos para indicar que un atributo o método es privado.