Hola!
Tengo que hacer un ejercicio de clases abstractas en java, lo tengo casi terminado pero me da un error y no logro darme cuenta de donde viene...
El ejercicio consiste en una clase abstracta llamada ALGORITME que deriva a AMULTIPLICACIO y ADIFERENCIA, estas 2 ultimas heredando de ALGORITME. Luego una clase llamada ENCRIPTADOR (yo creo que no es muy necesaria, pero la tengo que poner...) y por ultimo la clase TEST, donde se muestran los resultados.
Mas abajo os dejo todos los codigos de cada clase. El problema es que en la clase TEST, done pongo "Algoritme oba1 = new AMultiplicacio(10);" o "Algoritme oba2 = new ADiferencia(100);" me da error. Creo que es una tonteria pero es que he tocado un millon de cosas y no lo arreglo...
Gracias!
CODIGOS
ALGORITME:
Código:
public abstract class Algoritme
{
//Metodes
public abstract int encriptar(int codi);
public abstract int desencriptar(int codi);
}
AMULTIPLICACIO:
Código:
public abstract class AMultiplicacio extends Algoritme
{
//Atributs
private int numero;
//Constructors
public AMultiplicacio(int num)
{
numero=num;
}
//Metodes
public int encriptar(int codi)
{
return codi*numero;
}
public int desencriptar(int codi)
{
return codi/numero;
}
}
ADIFERENCIA
Código:
public abstract class ADiferencia extends Algoritme
{
//Atributs
private int numero;
//Constructors
public ADiferencia(int num)
{
numero=num;
}
//Metodes
public int encriptar(int codi)
{
return codi-numero;
}
public int desencriptar(int codi)
{
return codi+numero;
}
}
ENCRIPTADOR:
Código:
public class Encriptador
{
//Metodes
public int encriptar(int codi, Algoritme a1)
{
return a1.encriptar(codi);
}
public int desencriptar(int codi, Algoritme a1)
{
return a1.encriptar(codi);
}
}
TEST:
Código:
public class Test
{
public static void main(String[] args)
{
int codi=12345;
int aux=0;
Encriptador e=new Encriptador();
Algoritme oba1 = new AMultiplicacio(10);
aux = e.encriptar(codi, oba1);
System.out.println("El codi encriptat es "+aux);
System.out.println("El codi desencriptat es "+e.desencriptar(aux.oba1));
Algoritme oba2 = new ADiferencia(100);
aux = e.encriptar(codi, oba2);
System.out.println("El codi encriptat es "+aux);
System.out.println("El codi desencriptat es "+e.desencriptar(aux.oba2));
}
}