0% encontró este documento útil (0 votos)
17 vistas6 páginas

Ejemplo de Patrón Adapter en Java

Este documento explica el patrón de diseño Adapter mediante un ejemplo en Java. El ejemplo crea una clase Adaptador que permite que una clase CajaEuros, la cual solo acepta euros, pueda también aceptar pesetas al convertirlas a euros usando el Adaptador. El Adaptador implementa una interfaz IAdaptador que define métodos para ingresar y sacar pesetas, los cuales redirigen las llamadas a métodos equivalentes en CajaEuros después de convertir las pesetas a euros.
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
17 vistas6 páginas

Ejemplo de Patrón Adapter en Java

Este documento explica el patrón de diseño Adapter mediante un ejemplo en Java. El ejemplo crea una clase Adaptador que permite que una clase CajaEuros, la cual solo acepta euros, pueda también aceptar pesetas al convertirlas a euros usando el Adaptador. El Adaptador implementa una interfaz IAdaptador que define métodos para ingresar y sacar pesetas, los cuales redirigen las llamadas a métodos equivalentes en CajaEuros después de convertir las pesetas a euros.
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

Explicaciones de los ejemplos de java :

ADAPTER:

Adapter
Este patrón permite que trabajen juntas clases con interfaces incompatibles.
Para ello, un objeto adaptador reenvía al otro objeto los datos que recibe (a través de los
métodos que implementa, definidos en una clase abstracta o interface) tras manipularlos en
caso necesario.

Veamos un pequeño programa de ejemplo en el que utilizamos este patrón de diseño


(usando composición), creando un objeto adaptador que convierte de pesetas a euros para
poder comunicarse con otro objeto que gestiona los movimientos de una caja en euros:

[Link] (Cliente según el diagrama anterior):

1. package [Link].adapter01;

2.

3. public class Main

4. {

5. public static void main(String[] args)

6. {
7. Adaptador conversor = new Adaptador();

8.

9. [Link]( 2000 );

10. [Link]( 5000 );

11. [Link]( 1000 );

12.

13. [Link]( "Total euros: " + [Link]() );

14. }

15. }

[Link] (Objetivo según el diagrama anterior):

1. package [Link].adapter01;

2.

3. public interface IAdaptador

4. {

5. public abstract void sacarPesetas( double pesetas );

6. public abstract void ingresarPesetas( double pesetas );

7. }
[Link]:

1. package [Link].adapter01;

2.

3. public class Adaptador implements IAdaptador

4. {

5. CajaEuros cajaEuros = new CajaEuros();

6.

7. // ------------------

8.

9. public Adaptador() {

10. }

11.

12. // ------------------

13.

14. public double getSaldo()

15. {

16. return [Link]();

17. }

18.

19. // ------------------

20.
21. @Override

22. public void sacarPesetas( double pesetas )

23. {

24. double euros = pesetas / 166.386;

25. [Link]( euros );

26. }

27.

28. // ------------------

29.

30. @Override

31. public void ingresarPesetas( double pesetas )

32. {

33. double euros = pesetas / 166.386;

34. [Link]( euros );

35. }

36. }
[Link] (Adaptable según el diagrama anterior):

1. package [Link].adapter01;

2.

3. public class CajaEuros

4. {

5. private double euros = 0;

6.

7. // -----------------

8.

9. public CajaEuros() {

10. }

11.

12. // -----------------

13.

14. public double getTotalEuros()

15. {

16. return [Link];

17. }

18.

19. // -----------------

20.

21. public void sacarEuros( double euros )

22. {

23. [Link] -= euros;

24. }

25.
26. // -----------------

27.

28. public void ingresarEuros( double euros )

29. {

30. [Link] += euros;

31. }

32. }

Al ejecutarlo obtendríamos como resultado:

EXPLICACIÓN:
 La clase CajaEuros contiene los métodos necesarios para ingresar y sacar fondos en
euros.
 Creamos una interface que define los métodos que implementará el objeto de
tipo Adaptador, mediante los cuales éste redirigirá la comunicación hacia el objeto que
gestiona la caja en euros (realizando previamente la conversión de pesetas a euros).
 Al inicio del programa se crea un objeto de tipo Adaptador, realizándose unos ingresos
en pesetas y obteniendo luego el saldo en euros.

También podría gustarte