Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Entregable de Trabajo Final para Programación Orientada A Objetos.
Entregable de Trabajo Final para Programación Orientada A Objetos.
PLAN DE TRABAJO
DEL ESTUDIANTE
1. INFORMACIÓN GENERAL:
2
TRABAJO FINAL DEL CURSO
3. PREGUNTAS GUIA
Nº PREGUNTAS
1
3
1.
2.
3.
4.
5.
6.
7.
8.
9.
4
TRABAJO FINAL DEL CURSO
HOJA DE PLANIFICACIÓN
PROCESO DE EJECUCIÓN
SEGURIDAD / MEDIO AMBIENTE /
NORMAS -ESTANDARES
OPERACIONES / PASOS /SUBPASOS
5
TRABAJO FINAL DEL CURSO
INSTRUCCIONES: debes ser lo más explícito posible. Los gráficos ayudan a transmitir mejor
las ideas. No olvides los aspectos de calidad, medio ambiente y SHI.
6
TRABAJO FINAL DEL CURSO
INICIO
NO ¿CUMPLE LOS
REQUERIMIENTOS DE
APLICAR ABSTRACCION,
HERENCIA, POLIMORFISMO
Y ENCAPSULAMIENTO?
SI
FIN
7
TRABAJO FINAL DEL CURSO
IMPLEMENTACIÓN DE SISTEMA
DE REGISTRO DE PACIENTES Y
CLIENTES PARA LA
VETERINARIA SAFARI SAC.
-Laptop Asus Vivobook, Intel i7 11°, 2.6 gHz 12 GB RAM y 512 SSD.
-Disco Local C.
-Smartphone LG LM-X120HM.
3. HERRAMIENTAS E INSTRUMENTOS
-Python v 3.11
5. MATERIALES E INSUMOS
LISTA DE RECURSOS
8
TRABAJO FINAL DEL CURSO
9
TRABAJO FINAL DEL CURSO
Imagen 1.- Este diagrama representa como se estructura una clase, que sería como una
plantilla que se puede instanciar a través de objetos, que serían los elementos creados en
base a la plantilla.
10
TRABAJO FINAL DEL CURSO
1.2.1. Clases:
1.2.2. Objetos:
11
TRABAJO FINAL DEL CURSO
Imagen 2.- En esta ilustración podemos apreciar como creamos una clase” Animal”, de la que
se desprenderán los Objetos “Perro” y “Gato”, que obtendrán como atributos respectivamente
el nombre y la edad, finalmente introducimos unas funciones que pueden realizar cada animal
en los métodos Comer y Caminar.
1.3.2. La Herencia:
12
TRABAJO FINAL DEL CURSO
1.3.3. El Polimorfismo:
13
TRABAJO FINAL DEL CURSO
Imagen 4.- En la imagen tenemos una clase padre que es Animal que posee el método
__str__ además del método comer, las subclases heredan estos métodos y lo implementaran
a su modo, esto es una definición corta de lo que es el polimorfismo.
14
TRABAJO FINAL DEL CURSO
Imagen 5.- Aquí podemos apreciar el método “__str__” y el método “comer” en la subclase
Mamífero, esto funcionaria como un “botón” igual que al presionarlo envia un mensaje que
permite que los objetos instanciados realicen una acción. El principal requisito para que sea
útil el polimorfismo aquí es que los objetos (los animales registrados) entiendan el mensaje
enviado, es decir deben poseer el método que invocamos, en este caso sobrescribe el
contenido de la cadena de acuerdo a los atributos propios de cada clase derivada, es decir si
el animal es un Mamífero Domestico lo más probable es que tendrá pelaje y si su alimentación
será omnívora/balanceada.
15
TRABAJO FINAL DEL CURSO
16
TRABAJO FINAL DEL CURSO
17
TRABAJO FINAL DEL CURSO
Imagen 10.- Descargamos Python (la última versión) desde el sitio web oficial
https://www.python.org/downloads/ luego procedemos a instalar, finalmente al abrir el Visual
Studio Code podemos instalar extensiones desde la pestaña vertical izquierda para facilitarnos
el trabajo a la hora de codificar.
18
TRABAJO FINAL DEL CURSO
19
TRABAJO FINAL DEL CURSO
B. Desarrollo de operaciones:
Imagen 12.- En esta imagen vemos como iniciamos el desarrollo de las operaciones
siguiendo los requerimientos de la tarea y agregando algunos otros bajo criterio propio.
Aquí creamos la clase padre o superclase Animal con sus respectivos atributos y
métodos.
20
TRABAJO FINAL DEL CURSO
21
TRABAJO FINAL DEL CURSO
22
TRABAJO FINAL DEL CURSO
2.3.1. Modularidad:
2.3.2. Seguridad:
2.3.3. Flexibilidad:
Creamos nuevas clases según la clasificación del animal, en este caso decidí
organizar los pacientes en categoría principal Animales Domésticos,
Domésticos de Granja y Animales Exóticos, y subcategorías Mamífero, Ave,
Reptil y Pez.
23
TRABAJO FINAL DEL CURSO
Imagen 16.- En esta imagen explicaremos como creamos instancias de las clases en la aplicación,
primero tomamos los datos tomados ingresados por el usuario en los campos Entry con los métodos.
get() de cada campo y lo asignamos a variables con nombres del mismo campo mostrado en la GUI.
Luego creamos un diccionario de subcategorías y clases correspondientes, esto con el fin de identificar
los atributos únicos de cada clase derivada, es decir el atributo pelaje para Mamíferos, plumaje para
Aves y escamas para Reptiles y Peces.
24
TRABAJO FINAL DEL CURSO
25
TRABAJO FINAL DEL CURSO
26
TRABAJO FINAL DEL CURSO
Imagen 19.- En nuestra aplicación Veterinaria Safari la primera forma de aplicación e implementación de
polimorfismo es con el método “comer” en la clase Animal. Decimos que el método “comer” en la clase
Animal se comporta de manera polimórfica ya que su implementación varía según el tipo de alimentación
del animal. Esto se logra mediante un diccionario “accion_alimentacion” que asigna acciones específicas a
cada tipo de alimentación. Al llamar a “animal.comer()”, obtenemos un comportamiento diferente según el
tipo de animal expresada en la cadena “f’{nombre del animal registrado} {tipo de mensaje mostrando el
tipo de alimentación según el elemento elegido en el ComboBox “alimentación”}’
Imagen 20.- Cada una de las clases derivadas implementa el método comer de manera específica para ese
tipo de animal, cada categoría de Animal tiene una lista de alimentación específica, eso se muestra a la
hora de instanciar un objeto. Al registrar un nuevo animal, obtienes el mensaje de alimentación utilizando el
método comer del objeto nuevo_animal. Esto muestra cómo el polimorfismo permite tratar a objetos de
diferentes clases de manera uniforme.
27
TRABAJO FINAL DEL CURSO
Imagen 21.- Al registrar un nuevo animal, obtienes el mensaje de alimentación utilizando el método
“.comer()” del objeto “nuevo_animal”. Esto muestra cómo el polimorfismo permite tratar a objetos de
diferentes clases de manera uniforme.
Imagen 22.- Lo mismo sucede con el método “__str__”, éste es una representación de cadena de texto
de la instancia de la clase. En las clases derivadas, sobrescribes este método para proporcionar una
representación específica de cada tipo de animal. Aquí, la llamada a super().__str__() recupera la
representación de la clase base (Animal), y luego se agrega información específica de la subclase
(Mamífero, Ave, etc.). Esto permite una representación legible y específica de cada tipo de animal.
Imagen 23.- Aquí utilizamos la función getattr() para acceder a los atributos de las instancias de las
clases derivadas (Mamífero, Ave, Reptil, Pez). Al utilizar getattr() con un valor predeterminado (“None”
en este caso), tratamos de manera uniforme la obtención de atributos, incluso si la subclase no tiene el
atributo específico. Esto evita errores si un atributo particular no está presente en una subclase. Este
enfoque muestra una forma de polimorfismo al tratar los atributos de las subclases de manera uniforme,
independientemente del tipo específico de animal
28
TRABAJO FINAL DEL CURSO
29
TRABAJO FINAL DEL CURSO
REFERENCIAS:
30