Presentacion Clases y Objetos POO
Presentacion Clases y Objetos POO
Presentacion Clases y Objetos POO
Principios clave:
• Abstracción.
• Encapsulamiento
• Herencia
• Polimorfismo
¿Qué es una Clase?
• Clase: Plantilla o modelo que define
propiedades (atributos) y comportamientos
(métodos).
– Atributos: Variables que almacenan el estado del
objeto.
– Métodos: Funciones que definen las acciones del
objeto.
¿Qué es una Clase?
class Persona:
# Atributos
nombre = None
edad = None
# Métodos
def saludar(self):
print("¡Hola!")
¿Qué es un Objeto?
• Objeto: Instancia de una clase que representa
una entidad real.
• Los objetos tienen atributos (estado) y métodos
(comportamiento).
• Ejemplo:
• persona1 = Persona()
• persona1.nombre = "Ana"
• persona1.saludar()
¿Qué es una Objeto?
# Crear un objeto de
la clase Persona
persona = Persona()
# Llamar al método
saludar
persona.saludar() #
Esto imprimirá: ¡Hola!
Relación entre Clases y Objetos
• • La clase es el blueprint, el objeto es la realización de
ese blueprint.
• • Múltiples objetos pueden ser creados a partir de una
clase.
• • Cada objeto tiene su propio estado (atributos) pero
comparte los mismos comportamientos (métodos).
• Ejemplo:
• persona2 = Persona()
• persona2.nombre = "Carlos"
• persona2.saludar()
Clase: Métodos y Atributos
• Atributos: Variables que describen el estado del
objeto.
• Métodos: Funciones que describen las acciones
del objeto.
• Ejemplo (Clase Coche):
Clase: Métodos y Atributos
class Coche:
marca = ""
modelo = ""
def arrancar(self):
print(f"El coche {self.marca}
{self.modelo} está arrancando.")
Objeto de la clase Coche
c = Coche()
c.arrancar()
¿self como argumento en python?
• El argumento self en Python es una convención
importante en la Programación Orientada a
Objetos (POO), y tiene que ver con la forma en
que los métodos de las clases acceden a los
atributos y otros métodos de la instancia de la
clase.
def inscribirse(self):
print (f"El estudiante
{self.matricula}-{self.nombre}, ...se
acaba de inscribir ...")
e = Estudiante()
e.inscribirse()
e.matricula="87732"
e.nombre="Ruben"
e.inscribirse()
Ventajas de la Programación Orientada
a Objetos
• Modularidad: Código organizado y reutilizable.
• Reutilización de código: Herencia permite
extender clases.
• Escalabilidad: Facilita construir sistemas
grandes.
• Mantenimiento: Código más fácil de
actualizar.
• Facilita el modelado: Representación intuitiva
de objetos del mundo real.
Conclusión
• La POO permite representar el mundo real a
través de clases y objetos.
• Clases son planos, objetos son instancias de
esos planos.
• Atributos representan el estado, métodos las
acciones.