Programación orientada a objetos con Python. Parte II
Enviado por albertNTO • 15 de Agosto de 2022 • Trabajo • 565 Palabras (3 Páginas) • 134 Visitas
Programación orientada a objetos con Python. Parte II.
Christian Alejandro Vásquez Lolli
Programación Avanzada II
Instituto IACC
03 de octubre de 2021
Desarrollo
1.-
Imagine que usted ha sido seleccionado para diseñar lógicamente (puede usar elementos
gráficos como formas de Word, tipo un mapa conceptual) un sistema para el registro de
estudiantes de colegios privados de la Región Metropolitana de Santiago, este sistema debe
manejar las personas dentro del proceso como son: estudiantes con todos sus atributos
(nombre, apellido, rut, dirección) y apoderados también con sus atributos (nombre, apellido,
Rut, dirección), que año y asignaturas cursan cada uno de los estudiantes, si realizan
actividades extras, especificando cual actividad realizan.
Ahora bien, basándose en esa situación ponga en práctica sus conocimientos adquiridos de
Python y ejemplifique lo siguiente:
1. La abstracción de clases, Interfaz de objetos, clases anónimas y sobrecarga en la POO
(3 puntos).
2. Explique la aplicación de iteración de objetos, métodos mágicos y clonación de objetos
para casos presentados (3 puntos).
3. Diseñe la abstracción de clases, sobrecarga y métodos mágicos en los casos dados (3
puntos).
Respuestas:
1.- Mediante un mapa conceptual: Definimos Class y sus atributo.[pic 1]
[pic 2][pic 3]
[pic 4][pic 5]
[pic 6]
[pic 7][pic 8][pic 9]
[pic 10]
De acuerdo a lo requerido se diseña un sistema para el registro de estudiantes de colegios privados de la Región Metropolitana de Santiago, este sistema debe manejar las personas dentro del proceso como son: estudiantes con todos sus atributos (nombre, apellido, rut, dirección) y apoderados también con sus atributos (nombre, apellido, Rut, dirección), que año y asignaturas cursan cada uno de los estudiantes, si realizan actividades extras, especificando cual actividad realizan.
El algoritmo aplicado es el siguiente:
class Persona(object):
"""Persona"""
def __init__(self, nombre, apellido, rut, direccion):
self.nombre = nombre
self.apellido = apellido
self.rut = rut
self.direccion = direccion
class Estudiante(Persona):
"""estudiante"""
def __init__(self, nombre, apellido, rut, direccion, anno):
Persona.__init__(self, nombre, apellido, rut, direccion)
self.anno = anno
self.tareas = ['taller','historia','Frances','Teoria Musical']
self.extras = ["Futbol","Judo"]
def __str__(self):
return "%s %s %s, cursa: %s,y sus asiganaturas son: %s,y realiza actividades como:%s" % (
self.__doc__[0:11], self.nombre, self.apellido,
self.anno, self.consulta_tareas(),self.consulta_extras())
def consulta_tareas(self):
return ', '.join(self.tareas)
def consulta_extras(self):
return ",".join(self.extras)
class Apoderado (Estudiante):
"""El apoderado"""
def __init__(self,nombre, apellido, rut, direccion ,anno ,padre):
Estudiante.__init__(self, nombre, apellido, rut, direccion, anno)
self.padre=padre
...