Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Prctica 5
1) Codifique en Python la jerarqua de clases descripta en el diagrama UML dado a continuacin, en un modulo llamado modelo. Considere que la implementacin del mtodo comer() en las distintas subclases de Animal consiste en imprimir en pantalla el tipo de alimento que ingiere el animal. Por ejemplo, en la clase Araa imprime La araa come insectos. Nota: los mtodos getPatas() y setPatas() son concretos o sea tiene implementacin.
Animal - patas : int + Animal(patas: int) + comer() + getPatas : int +setPatas(patas :int)
Pez
Araa
Gato
2) Cree una clase llamada TestAnimales en un mdulo llamado test, con las siguientes caractersticas: a) Defina un mtodo de clase llamado main(), en el cual crea una instancia de Araa, otra de Gato y una de Pez. b) Declara un mtodo de clase llamado muestraQueCome(animal) que recibe como argumento un objeto de tipo Animal. Este mtodo simplemente invoca al mtodo comer() del objeto que recibe como argumento. c) Desde el mtodo main() invoque al mtodo muestraQueCome(animal) envindole como argumento cada una de las instancias creadas en el punto a. d) Implemente el cdigo necesario para que se ejecute el mtodo main() de la clase TestAnimales. e) Qu mtodos comer() fueron invocados en cada caso? Se aplic el concepto de Polimorfismo? 3) Defina las siguientes clases con los siguientes atributos y mtodos:
Empleado - nombre: String - domicilio: String - legajo: String - cargo: String +getNombre(): String +setNombre(String n): void +getNombre(): String +setNombre(String n): void - nombre: String - domicilio: String - legajo: String - departamentoAcargo: String - cantidadEmpleados: int Jefe
Agregue los mtodos getters y setters para cada uno de sus atributos.
Agregue los mtodos getters y setters para cada uno de sus atributos.
Algoritmos y Programas Ao 2012 4) Redefina las clases Empleado y Jefe de modo que Jefe sea una subclase de Empleado y esta
ltima sea subclase de Persona, codificada en la prctica anterior. Implemente en todas las clases el mtodo __str__() de modo que retorne un texto con la informacin correspondiente al objeto. Nota: Tenga en cuenta aspectos de reutilizacin de cdigo utilizando la sobre-escritura.
5) Implemente un programa que lea del teclado el datos de 5 empleados y 5 jefes, cree las instancias
necesarias de cada clase, las complete con los datos ledos anteriormente y luego imprima todas las ellas usando la sentencia print.
a) Modifique las clases Gato y Pez para que sean subclases de Mascota. b) El mtodo jugar() imprimir en pantalla el tipo de animal est invocando al mtodo (por ejemplo: Gato.jugar() o Pez.jugar()). 7) Codifique la clase TestAnimalesDomesticos para probar las implementaciones de Mascota, de acuerdo a las siguientes indicaciones: a) Codifique un mtodo de clase llamado miMascota(Mascota) que recibe como parmetro un objeto de tipo Mascota. La implementacin de este mtodo consiste en invocar al mtodo getNombre() y jugar() del objeto que recibe como parmetro. Imprima en pantalla el nombre de la mascota. b) El mtodo main() crea un arreglo de tipo Mascota que contiene 2 instancias de Pez, y 2 de Gato. Luego, recorre iterativamente el arreglo e invoca al mtodo miMascota() pasndole como parmetro cada uno de los elementos del arreglo. c) El mtodo jugar() es polimrfico porqu?
8) Defina una superclase de nombre FiguraGeometrica para Linea, Circulo y Rectangulo del
ejercicio 9 de la prctica anterior. Dicha clase contendr los aspectos comunes a las tres figuras geomtricas y aspectos propios de dicha clase.