FedericoFuentesWeber / TPs-PdeP-2018

0 stars 0 forks source link

12) La cota de malla mezcla lo de obtener puntos de lucha con un setter #44

Closed sanuzzi closed 5 years ago

sanuzzi commented 5 years ago

Tienen esto:

class CotaDeMalla {

    var property unidadesDeLucha 
    method unidadesDeLucha(duenio) = unidadesDeLucha
    method precioParaLaArmadura(valor) = self.unidadesDeLucha() / 2
}

Ahí, con lo de "property" están declarando que existen los métodos "unidadesDeLucha()" y "unidadesDeLucha(nuevaCantidad)".

Sin embargo, abajo están pisando el setter y definen esto: method unidadesDeLucha(duenio) = unidadesDeLucha

Eso no es un setter. Entiendo que lo hacen para saber la cantidad de lucha de forma polimórfica.

El tema es que ahí su "variable" deja de poder ser modificada.

Por lo tanto, hay 2 opciones:

  1. Nombrar la variable de otra forma.
  2. Hacer que sea constante.

Y más allá de cuál elijan (hasta podrían elegir ambas), dentro del método "unidadesDeLucha(duenio)" invoquen a su getter así no usan la referencia directa.