Session 16
Session 16
Tu futuro es
Programación
hoy
FUNDAMENTOS DE
PROGRAMACIÓN
Sobre el Curso
El curso está orientado a la enseñanza de fundamentos
de Programación en el lenguaje de Programación
Python v 3.0., bajo la modalidad definida por la
Academia de Programming de Cisco. Esta modalidad
consiste en el desarrollo de la currícula PCAP dividida
en 8 módulos presenciales. Durante el curso se
desarrollarán actividades de revisión del contenido
académico y laboratorios prácticos utilizando el
emulador de Python que nos provee el mismo Cisco
(SandBox) o de algún otro IDE para escritorio, así como
el desarrollo de exámenes y actividades orientadas al
entendimiento de estos conceptos de acuerdo con los
temas que considera Cisco en este curso.
. FUNDAMENTOS DE
PROGRAMACIÓN
UNIDAD IV
Módulos, String, POO, Excepciones,
Generadores y Gestión de Archivos
Semana 07
Manejos de métodos y herencia
Logro de la sesión
Al finalizar la sesión, el estudiante podrá implementar
los conceptos de herencia, encapsulamiento y
polimorfismo de la POO a través del lenguaje de
programación Python.
FUNDAMENTOS DE
PROGRAMACIÓN
AGENDA
SESIÓN 14
1. Introducción
2. Conceptos básicos de programación de objetos.
3. ¿Qué es un objeto?
4. Tu primera clase.
FUNDAMENTOS DE
PROGRAMACIÓN
Introducción
FUNDAMENTOS DE
PROGRAMACIÓN
Método __init__ de la clase
FUNDAMENTOS DE
PROGRAMACIÓN
Ejercicio
FUNDAMENTOS DE
PROGRAMACIÓN
Solución
class Empleado:
# bloque principal
def __init__(self):
empleado1 = Empleado()
self.nombre = input("Ingrese el nombre del empleado: ")
empleado1.imprimir()
self.sueldo = float(input("Ingrese el sueldo: "))
empleado1.paga_impuestos()
def imprimir(self):
print("Nombre: ", self.nombre)
print("Sueldo: ", self.sueldo)
def paga_impuestos(self):
if self.sueldo > 3000:
print("Debe pagar impuestos")
else:
print("No paga impuestos")
FUNDAMENTOS DE
PROGRAMACIÓN
Ejercicios Propuestos
FUNDAMENTOS DE
PROGRAMACIÓN
Ejercicios Propuestos
FUNDAMENTOS DE
PROGRAMACIÓN
Ejercicios Propuestos
FUNDAMENTOS DE
PROGRAMACIÓN
Llamada de métodos desde otro método de la misma clase
Utilizamos la sintaxis:
FUNDAMENTOS DE
PROGRAMACIÓN
Ejercicio
FUNDAMENTOS DE
PROGRAMACIÓN
Solución
class Operacion:
def __init__(self):
self.valor1 = int(input("Ingrese primer valor: ")) # bloque principal
self.valor2 = int(input("Ingrese segundo valor: "))
self.sumar() operacion1 = Operacion()
self.restar()
self.multiplicar()
self.dividir()
def sumar(self):
suma = self.valor1 + self.valor2
print("La suma es: ", suma)
def restar(self):
resta = self.valor1 - self.valor2
print("La resta es: ", resta)
def multiplicar(self):
multi = self.valor1 * self.valor2
print("El producto es: ", multi)
def dividir(self):
divi = self.valor1 / self.valor2
print("La división es: ", divi)
FUNDAMENTOS DE
PROGRAMACIÓN
Colaboración de clases
FUNDAMENTOS DE
PROGRAMACIÓN
Ejercicio
FUNDAMENTOS DE
PROGRAMACIÓN
Solución
class Cliente:
def __init__(self, nombre):
self.nombre = nombre
self.monto = 0
def depositar(self, monto):
self.monto = self.monto + monto
def extraer(self, monto):
self.monto = self.monto - monto
def retornar_monto(self):
return self.monto
def imprimir(self):
print(self.nombre, "tiene depositado la suma de: ",
self.monto)
FUNDAMENTOS DE
PROGRAMACIÓN
Solución
class Banco:
def __init__(self):
self.cliente1 = Cliente("Juan") # bloque principal
self.cliente2 = Cliente("Ana") banco1 = Banco()
self.cliente3 = Cliente("Diego") banco1.operar()
banco1.depositos_totales()
def operar(self):
self.cliente1.depositar(100)
self.cliente2.depositar(150)
self.cliente3.depositar(200)
self.cliente3.extraer(150)
def depositos_totales(self):
total = self.cliente1.retornar_monto() + self.cliente2.retornar_monto() +
self.cliente3.retornar_monto()
print("El total de dinero del banco es: ", total)
self.cliente1.imprimir()
self.cliente2.imprimir()
self.cliente3.imprimir()
FUNDAMENTOS DE
PROGRAMACIÓN
Herencia
FUNDAMENTOS DE
PROGRAMACIÓN
Herencia
FUNDAMENTOS DE
PROGRAMACIÓN
Ejercicio
FUNDAMENTOS DE
PROGRAMACIÓN
Solución
class Persona: def imprimir(self):
def __init__(self): super().imprimir()
self.nombre = input("Ingrese el nombre: ") print("Sueldo: ", self.sueldo)
self.edad = int(input("Ingrese la edad: ")) def paga_impuestos(self):
def imprimir(self): if self.sueldo > 3000:
print("Nombre: ", self.nombre) print("El empleado debe pagar impuestos")
print("Edad: ", self.edad) else:
class Empleado(Persona): print("No paga impuestos")
def __init__(self): # bloque principal
super().__init__() persona1 = Persona()
self.sueldo = float(input("Ingrese el sueldo: ")) persona1.imprimir()
print("____________________________")
empleado1 = Empleado()
empleado1.imprimir()
empleado1.paga_impuestos()
FUNDAMENTOS DE
PROGRAMACIÓN
Conclusiones
FUNDAMENTOS DE 25
PROGRAMACIÓN
Referencias Bibliográficas
http://netacad.com
FUNDAMENTOS DE 26
PROGRAMACIÓN
¿Preguntas…?
Expositor:
OSCAR MURILLO BRICEÑO