Autor: Luis Fernando Apáez Álvarez
-Curso PyM-
Práctica 3: Introducción a la POO
Fecha: 10 de Agosto del 2022
Solución
Descripción: Dentro de esta práctica aplicaremos los conceptos aprendidos sobre la POO en Python, para lo cual crearemos la Clase Fruta.
(Tiempo estimado: 30 minutos)
Solución:
(1) Comenzaremos por declarar la clase Fruta y colocando algunos atributos
# ESTA CELDA DE CODIGO NO DEBE EJECUTARSE
# PUES EL CODIGO AUN ESTARA INCOMPLETO
# ---------------------------------------------
# Declaramos la clase Fruta
# Completa:
class Fruta:
# Declaramos algunos atributos
nombre = ""
color = ""
peso = 0
# Declara al menos otros dos atributos:
# Lo que se escribe aque dependera de
# cada uno
# Declararemos algunos atributos auxiliares
# que ocuparemos en los metodos
fecha_caducidad = ""
tiene_cascara = True
# Declara al menos una variable auxiliar
# la cual ocuparas mas adelante cuando declares
# un metodo:
# Lo que se escribe aqui dependera de
# cada uno
te recomiendo primero pensar en el método que quieres declarar ,y que se te pide declarar en el punto (2), y después regresas a la parte final del punto anterior.
(2) Continuamos ahora declarando algunos métodos, en especifico:
# Declaracion de los metodos de la clase Fruta
# .
# .
# .
# .
# Declaracion de dos metodos:
# Gracias a esta funcion podremos ingresar la fecha
# de caducidad de una fruta en especifico
def insertar_fec_cad(self, fecha ):
self.fecha_caducidad = fecha
el primer parámetro del método anterior corresponde a una cláusula específica. El segundo parámetro del método será para que ingresemos una fecha en una cadena de texto para cambiar el valor de ""
en el atributo fecha_caducidad
a una fecha en especifico, por ejemplo "11-Agosto-2022"
.
Continuando
# Declaracion de los metodos de la clase Fruta
# .
# .
# .
# .
# Declaracion de dos metodos:
# Gracias a esta funcion podremos ingresar la fecha
# de caducidad de una fruta en especifico
def insertar_fec_cad(self, fecha):
self.fecha_caducidad = fecha
# Declaramos otro metodo para indicar que la fruta
# ha sido pelada, esto es, como la variable
# tiene_cascara tiene asignado el valor de True,
# esto significa que la fruta no ha sido pelada.
# Si la fruta ha sido pelada, entonces cambiaremos el
# valor de True en dicha variable al valor de False
def pelar_fruta(self):
self.tiene_cascara = False
# Declara al menos un metodo para esta clase,
# deberas de utilizar el atributo auxiliar que
# definiste al inicio y cambiar su valor por defecto
# asi como le hicimos en el metodo pelar_fruta:
# Lo que se escribe aqui dependera de
# cada uno
(3) Con base en todo lo anterior, lo que deberás hacer es copiar y pegar todo el código que hemos escrito y colocarlo en una sola celda de código para poder ejecutarlo
# Pega aqui el codigo de todas las celdas de codigo
# a excepcion de la celda de codigo donde ingresaste tu nombre
class Fruta:
# Declaramos algunos atributos
nombre = ""
color = ""
peso = 0
fecha_caducidad = ""
tiene_cascara = True
# Declaracion de dos metodos:
def insertar_fec_cad(self, fecha ):
self.fecha_caducidad = fecha
def pelar_fruta(self):
self.tiene_cascara = False
(4) Una vez que ejecutamos la celda anterior, crearemos ahora dos objetos de la clase Fruta
# Objeto 1
fruta1 = Fruta()
# Objeto 2
fruta2 = Fruta()
y proceremos a cambiar los valores por defecto de los atributos nombre, color
y peso
# Objeto 1
# Este objeto correspondera a un platano:
# Atributo nombre
fruta1.nombre = "Platano"
# Atributo color
fruta1.color = "Amarillo"
# Atributo peso
fruta1.peso = "100g"
# ----------------------------------------
# Objeto 2
# Este objeto correspondera a la fruta que quieras:
# Lo que se escribe aqui dependera de
# cada uno
imprimiremos toda la información de nuestros objetos
# objeto 1
print(f"La fruta1 es {fruta1.nombre}, de color {fruta1.color} y de peso {fruta1.peso}")
print("-" * 20)
# Objeto 2
# Lo que se escribe aqui dependera de
# cada uno
La fruta1 es Platano, de color Amarillo y de peso 100g --------------------
(5) Utilizaremos los métodos de la clase
# Supongamos que la fruta 1 ha sido pelada, entonces
# debemos cambiar el True de la variable tiene_cascara
# a False. Para ello
# Primero imprimimos el valor que tiene asignado la fruta1
# en el atributo tiene_cascara
print(fruta1.tiene_cascara)
# Cambiamos dicho valor utilizando el metodo pelar_fruta
fruta1.pelar_fruta()
print("-" * 30)
# Volvemos a imprimir el valor del atributo tiene_cascara
print(fruta1.tiene_cascara)
True ------------------------------ False
Ahora utilizaremos el método insertar_fec_cad
para ingresar la fecha de caducidad de nuestra fruta1
# veamos primero el valor que tiene asignada la fruta1
# en el atributo fecha_caducidad
print(fruta2.fecha_caducidad)
# cambiemos a una fecha en especifico
fruta2.insertar_fec_cad("12-Agosto-2023")
print("-" * 30)
# veamos ahora el cambio realizado
print(fruta2.fecha_caducidad)
# -----------------------------------------------------
# Asi como le hicimos con los dos metodos anterior
# implementa la misma secuencia en el metodo que
# definiste, para ello puedes utilizar cualquier objeto
# (fruta) definida.
# Lo que se escribe aqui dependera de
# cada uno
------------------------------ 12-Agosto-2023
En lo último que se te pide hacer es poner a prueba el método o métodos que definiste. Para ello debes comenzar con un print()
inspeccionando el valor por defecto que le diste al atributo auxiliar que definiste al inicio de la práctica. Luego debes ocupar el método que definiste para cambiar el valor por defecto que posee tu atributo auxiliar. Finalmente vuelves a imprimir el valor del atributo auxiliar que definiste para observar como el método, que definiste, está actuando. Para lo anterior puedes ocupar cualquier objeto (fruta) que definimos.
Ha sido una práctica pesada, tómate un descanso.