Duda con objetos

13/10/2004 - 23:03 por Alberto | Informe spam
Tengo un objeto Curso que contiene un conjunto de objetos Alumno donde, a su
vez, cada uno de ellos tiene un objeto Notas.

Mi duda es la siguiente: cuando creo un objeto Curso ¿debo crear también los
objetos Alumno y dentro de estes, los objetos Notas? Supongo que para ser
estrictos con la programación orientada a objetos, la respuesta sería sí
pero ¿no sería excesivo el consumo de memoria?

Gracias

Preguntas similare

Leer las respuestas

#1 Octavio Hernandez
13/10/2004 - 23:28 | Informe spam
Alberto,

En principio, puede existir un objeto Curso que en cierto momento (por
ejemplo, al ser creado) no contenga ningún objeto Alumno...
Pero claro, se supone que luego se le agregen los alumnos. Lo mismo pasaría
con Alumnos-Notas. Son relaciones 1-N.

Antes se utilizaban arrays de estructuras secuenciales en memoria, ahora con
los progresos en la tecnología nos podemos dar más lujos :-)

Slds - Octavio

"Alberto" escribió en el mensaje
news:
Tengo un objeto Curso que contiene un conjunto de objetos Alumno donde, a


su
vez, cada uno de ellos tiene un objeto Notas.

Mi duda es la siguiente: cuando creo un objeto Curso ¿debo crear también


los
objetos Alumno y dentro de estes, los objetos Notas? Supongo que para ser
estrictos con la programación orientada a objetos, la respuesta sería sí
pero ¿no sería excesivo el consumo de memoria?

Gracias


Respuesta Responder a este mensaje
#2 Alberto
13/10/2004 - 23:39 | Informe spam
El problema que se me plantea es que hay una relación entre el objeto Curso
y el objeto Alumno y, como muy bien comentas, es una relación 1-N por lo que
en curso tengo un arraylist con objetos Alumno. Yo creo que para ser
estrictos, se debieran cargar cuando se carga el curso pero dudo mucho de su
eficiencia.
Gracias

"Octavio Hernandez" escribió en el mensaje
news:
Alberto,

En principio, puede existir un objeto Curso que en cierto momento (por
ejemplo, al ser creado) no contenga ningún objeto Alumno...
Pero claro, se supone que luego se le agregen los alumnos. Lo mismo
pasaría
con Alumnos-Notas. Son relaciones 1-N.

Antes se utilizaban arrays de estructuras secuenciales en memoria, ahora
con
los progresos en la tecnología nos podemos dar más lujos :-)

Slds - Octavio

"Alberto" escribió en el mensaje
news:
Tengo un objeto Curso que contiene un conjunto de objetos Alumno donde, a


su
vez, cada uno de ellos tiene un objeto Notas.

Mi duda es la siguiente: cuando creo un objeto Curso ¿debo crear también


los
objetos Alumno y dentro de estes, los objetos Notas? Supongo que para ser
estrictos con la programación orientada a objetos, la respuesta sería sí
pero ¿no sería excesivo el consumo de memoria?

Gracias






Respuesta Responder a este mensaje
#3 Octavio Telis Aynes
14/10/2004 - 01:37 | Informe spam
Podrías hacerlo más robusto y utilzar Colecciones. No se si se te haga más
complejo, pero podrías crear las clases Alumnos y Notas, mismas que serían
colecciones de Alumno y Nota, al final 5 Clases, en Curso tendrías una
propiedad del tipo Alumnos (colección de Alumno) y en Alumno una propiedad
del tipo Notas (colección de Nota), al crear el objeto Curso tendrías que
agregar a la colección Alumnos cada alumnos según corresponda, y podrías
tener además la capacidad de agregar elementos Nota a la propiedad Notas de
Alumno, ya sea antes de agregar el alumno a alumnos o por medio de un idexer
tomar el alumno en cuestión para agregarle notas.

No es terminante eso de agregar los alumnos al momento de crear curso,
podrías hacerlo por demanda.

Saludos...

Octavio Telis Aynés
www.comunidadpuntonet.org/df/




"Alberto" escribió en el mensaje
news:
El problema que se me plantea es que hay una relación entre el objeto


Curso
y el objeto Alumno y, como muy bien comentas, es una relación 1-N por lo


que
en curso tengo un arraylist con objetos Alumno. Yo creo que para ser
estrictos, se debieran cargar cuando se carga el curso pero dudo mucho de


su
eficiencia.
Gracias

"Octavio Hernandez" escribió en el mensaje
news:
> Alberto,
>
> En principio, puede existir un objeto Curso que en cierto momento (por
> ejemplo, al ser creado) no contenga ningún objeto Alumno...
> Pero claro, se supone que luego se le agregen los alumnos. Lo mismo
> pasaría
> con Alumnos-Notas. Son relaciones 1-N.
>
> Antes se utilizaban arrays de estructuras secuenciales en memoria, ahora
> con
> los progresos en la tecnología nos podemos dar más lujos :-)
>
> Slds - Octavio
>
> "Alberto" escribió en el mensaje
> news:
>> Tengo un objeto Curso que contiene un conjunto de objetos Alumno donde,


a
> su
>> vez, cada uno de ellos tiene un objeto Notas.
>>
>> Mi duda es la siguiente: cuando creo un objeto Curso ¿debo crear


también
> los
>> objetos Alumno y dentro de estes, los objetos Notas? Supongo que para


ser
>> estrictos con la programación orientada a objetos, la respuesta sería



>> pero ¿no sería excesivo el consumo de memoria?
>>
>> Gracias
>>
>>
>
>


Respuesta Responder a este mensaje
#4 Leonardo Azpurua
14/10/2004 - 02:07 | Informe spam
"Alberto" escribió en el mensaje
news:
El problema que se me plantea es que hay una relación entre el objeto
Curso y el objeto Alumno y, como muy bien comentas, es una relación 1-N
por lo que en curso tengo un arraylist con objetos Alumno. Yo creo que
para ser estrictos, se debieran cargar cuando se carga el curso pero dudo
mucho de su eficiencia.
Gracias



Hola, Alberto:

"Para ser estrictos" deberías poder ignorar por completo si los alumnos
estan cargados o no: esa es la escencia de la POO.

Y en la practica, no tiene sentido cargar los alumnos mientras no se
necesiten: es ineficiente desde el punto de vista de la implementación
cargar mas información de la necesaria.

De hecho, lo mas conveniente es que la lista de alumnos se implemente como
una función que devuelve una colección (a cualquier otra clase compatible
con IList), de manera que sea responsabilidad del cliente el determinar el
tiempo de vida de los resultados.

El curso puede existir sin los alumnos, y es posible que los clientes de la
clase Curso quieran saber, por ejemplo, la frecuencia de las clases, el
nombre del instructor, el contenido temático y no tengan interés en los
alumnos.

La POO se creo para facilitar las tareas de analisis, diseño y construcción,
no para imponer reglas arbitrarias. Lo único verdaderamente importante
cuando diseñas una clase es que si dices que la propiedad alumnos devolverá
una colección de objetos de la clase Alumno que contendrá una entrada con
los valores correctos para cada alumno inscrito en el curso, es que en
efecto pase eso. En cuanto a la implementación, seguimos teniendo que buscar
la máxima eficacia en tiempo y recursos.

De lo contrario, ¿qué pasaría si aplicas el método "estricto" y mas
adelante alguien decide agregar a los alumnos una propiedad "Cursos" que
contenga todos los cursos donde el alumno está inscrito?: memoria agotada a
la primera instanciación.

Salud!

Leonardo
mvp vb
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida