UTNianos

Versión completa: [PdeP] Objetos - Consultonta
Actualmente estas viendo una versión simplificada de nuestro contenido. Ver la versión completa con el formato correcto.
Páginas: 1 2
(21-11-2014 13:05)odin escribió: [ -> ]
(21-11-2014 01:02)Jess escribió: [ -> ]
(20-11-2014 21:53)odin escribió: [ -> ]a ver, creo que estas confundiendo mucho las cosas, como esta planteado en tu solucion principal, tenes
miniones, con atributos, un atributo es un tipo, que puede ser de clase Amarillo o Violeta
Amarillo o Violeta, no son miniones, no conocen los demas atributos del minion, de hecho, cuando los instancies, será algo asi
amarillo:= Amarillo New
y
minionAmarillo1 tipo: amarillo
minionAmarillo2 tipo: amarillo
el objeto amarillo es el mismo para ambos miniones (salvo que crees "amarillo1", "amarillo2", etc. lo que no tendria demasiado sentido)

¿Para qué va a crear ese amarillo? Es innecesario y de hecho está mal por lo que pide el enunciado porque vos no le podés asignar el color al minion, eso se tiene que hacer solo cuando se crea, y la única forma de que cambie a violeta es tomando el suero mutante, tampoco podés meter eso a mano. Con hacer en el initialize del Minion un self tipo: Amarillo new basta y después cuando toma el suero te ocupás de que cada color sepa a qué otro color debe cambiar.

No podes inicializar el minion con Amarillo, porque hay miniones violetas, si o si debes pasarlo como parametro y poner un if, o asignarlo después en el workspace
A lo que voy es que surgen todas estas complicaciones y limitaciones con la solución planteada como está, cuando con una subclase por cada tipo de minion, me parece, es mas simple y comprensible para resolver
Igual, como dicen es un tema de diseño y algo muy personal eso, no es que no funcione bien haciendo todo eso y agregando todo ese código

No, yo te hablo con conocimiento del enunciado, vos no lo leíste. Copio esa parte acá

Se quiere modelar en objetos este mundo de fantasía en el que existen villanos que se dedican a hacer el mal. Los villanos, mediante un ejército de pequeñas criaturas amarillas, adorables y traviesas llamadas minions, realizan maldades en la ciudad donde viven.
Los minions son originalmente amarillos, se alimentan de bananas y llevan armas de las que se conoce su nombre y potencia. Se consideran peligrosos cuando tienen más de 2 armas. Mediante la absorción del suero mutante se transforman en criaturas violetas, un tanto alocadas e impredecibles, por lo que pierden todas sus armas hasta el momento y se quedan con una banana menos. Los minions violetas luego pueden volver a tener armas y alimentarse con bananas como los amarillos, y se consideran siempre peligrosos. Cuando un minion violeta toma suero mutante, vuelve a ser la criatura amarilla de antes, perdiendo una banana, pero manteniendo las mismas armas que tuviese.
El nivel de concentración de los minions se calcula como la potencia de su arma más potente más su cantidad de bananas, en el caso de los amarillos. En los violetas, equivale sencillamente a su cantidad de bananas, aunque tengan armas.

Yo sugiero que antes de chamuyar con codigo, modelen un diagrama de clases asi se entienden los conceptos que se quieren aplicar.

Yo lo haria con una interfaz por ejemplo...
Páginas: 1 2
URLs de referencia