Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/11/2013, 06:19
Avatar de muchuelu93
muchuelu93
 
Fecha de Ingreso: noviembre-2013
Mensajes: 35
Antigüedad: 11 años
Puntos: 2
Sonrisa Clases abstractas, problema tonto... D:

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));
	}
}