@@ -2,11 +2,117 @@ public class simonguzman {
2
2
public static void main (String [] args ) {
3
3
exampleNoIsp ();
4
4
exampleIsp ();
5
+ adittionalExerciseNoIsp ();
5
6
}
6
7
7
8
/******************************** Ejercicio adicional con isp ********************************/
9
+ static void adittionalExerciseIsp (){
10
+ Printer blackAndWhitePrinter = new BlackAndWhitePrinter ();
11
+ blackAndWhitePrinter .print ("Documento en blanco y negro" );
12
+
13
+ ColorPrinter colorPrinter = new ColorOnlyPrinter ();
14
+ colorPrinter .printColor ("Documento a color" );
15
+
16
+ MultiFunctionPrinter multiFunctionPrinter = new MultiFunctionPrinter ();
17
+
18
+ multiFunctionPrinter .print ("Documento multifunción en blanco y negro" );
19
+ multiFunctionPrinter .printColor ("Documento multifunción a color" );
20
+ multiFunctionPrinter .scan ("Escaneando un documento" );
21
+ multiFunctionPrinter .sendFax ("Enviando fax del documento" );
22
+
23
+ }
24
+ static interface Printer {
25
+ void print (String content );
26
+ }
27
+
28
+ static interface ColorPrinter {
29
+ void printColor (String content );
30
+ }
31
+
32
+ static interface Scanner {
33
+ void scan (String content );
34
+ }
35
+
36
+ static interface Fax {
37
+ void sendFax (String content );
38
+ }
39
+
40
+ static class BlackAndWhitePrinter implements Printer {
41
+ @ Override
42
+ public void print (String content ) {
43
+ System .out .println ("Imprimiendo en blanco y negro: " + content );
44
+ }
45
+ }
46
+
47
+ static class ColorOnlyPrinter implements ColorPrinter {
48
+ @ Override
49
+ public void printColor (String content ) {
50
+ System .out .println ("Imprimiendo a color: " + content );
51
+ }
52
+ }
53
+
54
+ static class MultiFunctionPrinter implements Printer , ColorPrinter , Scanner , Fax {
55
+ @ Override
56
+ public void print (String content ) {
57
+ System .out .println ("Imprimiendo en blanco y negro: " + content );
58
+ }
59
+
60
+ @ Override
61
+ public void printColor (String content ) {
62
+ System .out .println ("Imprimiendo a color: " + content );
63
+ }
64
+
65
+ @ Override
66
+ public void scan (String content ) {
67
+ System .out .println ("Escaneando: " + content );
68
+ }
69
+
70
+ @ Override
71
+ public void sendFax (String content ) {
72
+ System .out .println ("Enviando fax: " + content );
73
+ }
74
+ }
75
+
8
76
9
77
/******************************** Ejercicio adicional sin isp ********************************/
78
+ static void adittionalExerciseNoIsp (){
79
+ UniversalPrinter basicPrinter = new BasicPrinter ();
80
+
81
+ basicPrinter .print ("Documento básico en blanco y negro" );
82
+ basicPrinter .printColor ("Intentando imprimir a color (no soportado)" );
83
+ basicPrinter .scan ("Intentando escanear (no soportado)" );
84
+ basicPrinter .sendFax ("Intentando enviar fax (no soportado)" );
85
+ }
86
+
87
+ static interface UniversalPrinter {
88
+ void print (String content );
89
+ void printColor (String content );
90
+ void scan (String content );
91
+ void sendFax (String content );
92
+ }
93
+
94
+ static class BasicPrinter implements UniversalPrinter {
95
+ @ Override
96
+ public void print (String content ) {
97
+ System .out .println ("Imprimiendo en blanco y negro: " + content );
98
+ }
99
+
100
+ @ Override
101
+ public void printColor (String content ) {
102
+ // No soportado por esta impresora
103
+ }
104
+
105
+ @ Override
106
+ public void scan (String content ) {
107
+ // No soportado por esta impresora
108
+ }
109
+
110
+ @ Override
111
+ public void sendFax (String content ) {
112
+ // No soportado por esta impresora
113
+ }
114
+ }
115
+
10
116
11
117
/******************************** Ejemplo con isp ********************************/
12
118
static void exampleIsp (){
0 commit comments