Hola,
Hay que aprovechar la POO. Tu code no está mal, pero podrá ajustarse más al estándar de la POO. Por ejemplo, podemos convertir tu código en polimórfico, de la siguiente manera:
1] Crear una interface que represente el tipo de cifrado.
2] Crear una clase por tipo de cifrado e implementar la interface.
3] Desde la clase Cifrador hacemos los cifrados por medio del constructor que mencionaste.
Saludos..
Hay que aprovechar la POO. Tu code no está mal, pero podrá ajustarse más al estándar de la POO. Por ejemplo, podemos convertir tu código en polimórfico, de la siguiente manera:
1] Crear una interface que represente el tipo de cifrado.
2] Crear una clase por tipo de cifrado e implementar la interface.
3] Desde la clase Cifrador hacemos los cifrados por medio del constructor que mencionaste.
Código (=java) [Seleccionar]
public class Cifrador {
public static void main(String[] args) {
new Cifrador(30l, new CifradoXor(), true);
}
public Cifrador(long numero, TipoCifrado tipo, boolean estado) {
// no se para que usar el boolean..
System.out.println(tipo.toString()+": "+tipo.cifrar(numero));
}
}
Código (=java) [Seleccionar]
public interface TipoCifrado {
public long cifrar(long numero);
}
Código (=java) [Seleccionar]
public class CifradoMultiplicador implements TipoCifrado {
@Override
public long cifrar(long numero) {
// cifrado
}
@Override
public String toString() {
return "Cifrado tipo Multiplicador";
}
}
Código (=java) [Seleccionar]
public class CifradoDiferencia implements TipoCifrado {
@Override
public long cifrar(long numero) {
// cifrado
}
@Override
public String toString() {
return "Cifrado tipo Diferencia";
}
}
Código (=java) [Seleccionar]
public class CifradoXor implements TipoCifrado {
@Override
public long cifrar(long numero) {
// cifrado
}
@Override
public String toString() {
return "Cifrado tipo Xor";
}
}
Saludos..