Programación orientada a objetos con Python
Enviado por Daniel Rozas • 26 de Septiembre de 2022 • Informe • 637 Palabras (3 Páginas) • 148 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 gráficos como formas de Word, tipo un mapa conceptu conceptual) un sistema para el registro de al) un sistema para el registro de
estudiantes de colegios privados de la Reg estudiantes de colegios privados de la Región Metro ión Metropolitana de Santiago, este sistema debe politana 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 (nombre, apellido, rut, dirección) y apoderados también con sus atributos (nombre, apellido, bién con sus atributos (nombre, apellido,
Rut, dirección), que año y Rut, dirección), que año y asignaturas cursan cada asignaturas cursan cada uno de los estudiantes, si uno de los estudiantes, si realizan 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 caso para casos present s presentados (3 pun ados (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 1.- Mediante un mapa conceptual: Definimos mapa conceptual: Definimos Class y sus atr y sus atributo.
De acuerdo a lo requerido se diseña un sistema para el registro de estudiantes de colegios
privados de privados de la Región la Región Metropolitana de Metropolitana de Santiago, este Santiago, este sistema debe sistema debe manejar las manejar las personas dentro personas dentro
del proceso como son: estudiantes con todos sus atributos (nombre, apellido, rut, dirección) y
apoderados también con ados también con sus atributo sus atributos (nombre, apellido, Rut, re, apellido, Rut, dirección), que año que año y asignaturas
cursan cada uno de los estudiantes, si realizan actividades extras, especificando cual actividad
realizan.
CLASS PERSONA
NOMBRE
APELLIDO
RUT
DIRECCION
CLASS ESTUDIANTE
NOMBRE
APELLIDO
RUT
DIRECCION
CLASS EXTRAS
ESTUDIANTE
MUSICA
CIENCIAS
COCINA
CLASS ESTUDIO
ASIGNATURA
AÑO
ESTUDIANTE
APODERADO
CLASS
APODERADO
NOMBRE
APELLIDO
RUT
DIRECCION
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 co
mo:%s" % (
self.__doc__[0:11], self.nombre, self.apellido,
self.anno, self.consulta_tareas(),self.consulta_extras())
...