Closed Pyralspite closed 7 years ago
Hola!
Las listas son EDD ordenadas y mutables. Están pensadas para poder agregar, eliminar y acceder a elementos según su ubicación. Python no prohibe mezclar tipos de datos en una lista pero los programadores prefieren no hacerlo porque existen otras estructuras (tuplas) que son para eso. No hay muchas razones para mezclar distintos tipos en una lista, muchos casos es mejor usar otra EDD.
Otros lenguajes no lo permiten porque se declara el tipo de datos cuando se crea la lista, esto se hace para se reservar los espacios de memoria lo que la hace más eficiente. La única forma de poner diferentes tipos en haciendo upcasting, transformar los objetos a la clase base y usar esa clase como el tipo de objeto de la lista
La forma en que estás haciendo el UML está correcta. object
debería ser reemplazado con el tipo de objeto que recibe. Si son distintos tipos, entonces toma la clase base en común. Si es object
entonces deberías cambiar el tipo de EDD.
Muchas gracias :D!
Hola, tengo una duda con UML y listas en general. En la práctica, python permite hacer cosas como
Pero al momento de hacer el diagrama de clases, tengo dudas sobre como definir el atributo lista y el método agregar. Estaba pensando en hacerlo con object:
pero no sé si sea la forma correcta. Es más, no se si sea correcto que una clase tenga como atributo una lista que almacene más de un tipo de dato. Es una mala práctica?
Aparte: Por qué otros lenguajes no lo permiten?
EDIT aaossa: Formato