1
00:00:00,210 --> 00:00:00,990
Bien, continuamos.

2
00:00:01,080 --> 00:00:03,960
Ahora vamos a crear nuestra clase APTRA Factory.

3
00:00:04,050 --> 00:00:06,990
Le vamos a llamar Pizzería Zona Hattrick Factory.

4
00:00:07,200 --> 00:00:10,110
Una clase abstracta podría ser una pizzería Nueva York.

5
00:00:10,140 --> 00:00:13,860
Como explicaba la clase anterior, una pizzería NÃpoles en Los Ángeles.

6
00:00:13,950 --> 00:00:15,510
En fin, vamos a hacer esta clase.

7
00:00:15,600 --> 00:00:19,320
No va a ser A Factory Nío Yaba Class.

8
00:00:19,410 --> 00:00:28,080
Le vamos a llamar Pizzería Zona Abstract Factory y Letra Factory.

9
00:00:28,120 --> 00:00:33,960
Bueno, sería opcional, pero es para indicar de que se trata de una factoría abstracta.

10
00:00:34,350 --> 00:00:36,960
Bien, como siempre, abstracto.

11
00:00:37,290 --> 00:00:41,070
Por acá comenzamos.

12
00:00:41,970 --> 00:00:43,710
Bueno, en realidad son dos métodos.

13
00:00:43,770 --> 00:00:46,350
Uno concreto para el caso de la pizzería.

14
00:00:46,440 --> 00:00:49,260
Ordenar pizza y un método abstracto crea la pizza.

15
00:00:49,380 --> 00:00:54,060
El método crear la pizza tiene que ser abstracto porque eso va a depender de cada zona.

16
00:00:54,120 --> 00:01:01,200
Casona va a crear sus propias pizzas, su propia familia de producto de pizza con sus ingredientes en

17
00:01:01,200 --> 00:01:01,800
particular.

18
00:01:01,900 --> 00:01:04,830
Bien, entonces primero publi.

19
00:01:04,860 --> 00:01:07,170
Comenzamos primero con ordenar la pizza.

20
00:01:08,670 --> 00:01:09,900
Va a devolver una pizza.

21
00:01:10,200 --> 00:01:10,410
Bien.

22
00:01:10,530 --> 00:01:15,330
Me has dado cuenta de que la clase anterior puse pizza producto con una Z acá pizza producto.

23
00:01:15,570 --> 00:01:17,370
Vamos a renombrar para que quede mejor.

24
00:01:17,520 --> 00:01:23,610
Entonces refractor reunÃan pizza listo a s.

25
00:01:25,190 --> 00:01:27,380
Con todos los Zeta continuamos.

26
00:01:27,560 --> 00:01:30,260
Entonces devuelve una PISA producto.

27
00:01:31,520 --> 00:01:38,390
Recuerden del tipo abstracto acá pisa producto del tipo más genérico ordenar pisa

28
00:01:41,810 --> 00:01:49,280
estric y el tipo el tipo PISA, por ejemplo, si es vegetariana o peperoni, o todas las carnes o cuatro

29
00:01:49,280 --> 00:01:50,810
queso italiana.

30
00:01:53,740 --> 00:02:02,830
Pisa producto, pisa igual y tenemos que crear de alguna forma, pero para eso, para crear esta pieza,

31
00:02:02,920 --> 00:02:06,220
instanciar la vamos a tener acá, un método abstracto que tenemos que crear.

32
00:02:06,580 --> 00:02:17,320
Entonces este método alojamos en el Tanvi acá abstracto va a devolver pieza producto, crear pisÃ y

33
00:02:17,320 --> 00:02:21,580
por supuesto con un string estrellen y el tipo.

34
00:02:23,770 --> 00:02:30,760
Ahora, si invocamos este método acá, crear pisÃ se fijan completamente abstracto.

35
00:02:30,850 --> 00:02:33,880
Acá pasamos tipo completamente genérico.

36
00:02:34,120 --> 00:02:40,780
Entonces el primero va a depender de la zona del lugar o de la fábrica concreta y luego del tipo de

37
00:02:40,780 --> 00:02:42,460
PISA con sus ingredientes.

38
00:02:42,730 --> 00:02:43,840
Por eso colocamos tipo acá.

39
00:02:44,560 --> 00:02:53,290
Bien, ya que comenzamos, primero vamos a imprimir Shout, por ejemplo, fabricando la pisÃ.

40
00:02:57,320 --> 00:03:03,080
Acá podríamos imprimir el nombre, pero creo que no le pusimos el nombre.

41
00:03:03,170 --> 00:03:04,790
A ver, pisÃ.

42
00:03:05,120 --> 00:03:06,050
Punto.

43
00:03:06,260 --> 00:03:06,620
Nombre?

44
00:03:06,700 --> 00:03:10,660
Bueno, acá no podemos acceder porque protected ya estamos dentro del mismo paquete.

45
00:03:11,000 --> 00:03:18,290
Se fijan, pero si tuviéramos un paquete distinto no lo podríamos acceder de otra forma para el nombre,

46
00:03:18,530 --> 00:03:19,700
ya que lo vas a ocupar afuera.

47
00:03:19,790 --> 00:03:21,470
Es mejor tener el metodo yeta.

48
00:03:22,860 --> 00:03:26,640
Entonces, por acá vamos a implementar solamente Liggett Generate.

49
00:03:28,000 --> 00:03:34,420
Getter de nombre nada más que íbamos a utilizar por ahora tonce pisa.

50
00:03:35,570 --> 00:03:37,810
Nombre qué mejor voy a bajar.

51
00:03:40,420 --> 00:03:41,500
Bien, ahí tenemos.

52
00:03:41,590 --> 00:03:44,580
Continuamos pisa.

53
00:03:45,040 --> 00:03:45,460
Punto.

54
00:03:45,490 --> 00:03:45,850
Bueno.

55
00:03:45,910 --> 00:03:47,200
Cuáles son los métodos?

56
00:03:47,290 --> 00:03:47,770
En orden.

57
00:03:47,800 --> 00:03:50,650
Primero preparar, preparar la mesa.

58
00:03:51,610 --> 00:03:54,820
Luego tenemos que punto cocinar.

59
00:03:55,510 --> 00:03:56,350
La cocinamos.

60
00:03:56,650 --> 00:03:58,520
Luego la tenemos que cortar.

61
00:03:58,520 --> 00:03:58,870
C-creo.

62
00:03:59,650 --> 00:04:00,230
Cortas.

63
00:04:01,810 --> 00:04:02,590
Finalmente.

64
00:04:03,490 --> 00:04:04,170
Punto.

65
00:04:04,300 --> 00:04:08,380
Empaquetarlo y faltaría devolver la pizza.

66
00:04:09,730 --> 00:04:12,100
La pizza lista al cliente para consumir.

67
00:04:12,420 --> 00:04:17,050
Bueno, por supuesto, nuestro cliente va a hacer la clase con el método main que le va a ordenar.

68
00:04:17,110 --> 00:04:18,280
La va a requerir.

69
00:04:18,490 --> 00:04:20,710
Se fijan entonces ahora según la zona.

70
00:04:20,920 --> 00:04:22,750
Vamos a ayudar de esta clase abstracta.

71
00:04:22,990 --> 00:04:29,980
Vamos a tener una zona concreta, un factory o fábrica concreta para ordenar su pizza o sus pizza según

72
00:04:29,980 --> 00:04:30,460
su tipo.

73
00:04:30,880 --> 00:04:32,770
Vamos a preparar, cocinar, cortar, empaquetar.

74
00:04:33,790 --> 00:04:39,070
Recuerden que acá tenemos un método preparar, cocinar, cortar.

75
00:04:39,250 --> 00:04:40,510
Ambos métodos abstracto.

76
00:04:40,630 --> 00:04:44,770
Cada pizza concreta la implementa en su forma empaquetar.

77
00:04:46,440 --> 00:04:51,210
Y listo, ya tenemos nuestra fábrica abstracta Pizzería Zona Atrá Factory.

78
00:04:51,420 --> 00:04:54,600
Ahora tenemos que crear nuestras fábricas concretas, que serían tapicerías.

79
00:04:54,810 --> 00:04:58,890
Recuerden, pillerías son las fábricas y el producto es la pizza.

80
00:05:00,060 --> 00:05:01,970
Vamos a crear entonces acá.

81
00:05:03,110 --> 00:05:04,770
Una fábrica para Nueva York.

82
00:05:06,410 --> 00:05:08,810
Entonces Pizzería New York

83
00:05:11,510 --> 00:05:13,970
Factory, una fábrica concreta.

84
00:05:17,040 --> 00:05:26,070
Extends Bueno, tenemos que crear de cual de Abstract Factory Pizzería Zona Atràs Factory que tengo

85
00:05:26,070 --> 00:05:30,780
que implementar métodos el método abstracto uno solo crear la pizza.

86
00:05:31,650 --> 00:05:32,050
Defecan.

87
00:05:32,190 --> 00:05:38,250
Entonces acá vamos a tener una forma para crear los distintos tipos de pizza de esta pizzería.

88
00:05:38,400 --> 00:05:42,360
Por ahora lo dejamos en Nul por ahora, porque todavía no tenemos ninguna pizza concreta.

89
00:05:42,490 --> 00:05:44,340
Entonces, por ahora no podemos crear ninguna pizza.

90
00:05:44,400 --> 00:05:46,770
Pero bueno, vamos a crear esta pizza concreta.

91
00:05:46,860 --> 00:05:49,590
Nos vamos a ir a Factory, incluso en Factory.

92
00:05:49,620 --> 00:05:50,760
Podríamos colocar acá.

93
00:05:52,360 --> 00:06:02,180
Champagnat para que ordenado le vamos a llamar PISA o producto producto mejón OK, llega en producto

94
00:06:02,330 --> 00:06:06,710
vamos a tener nues tro PISA concreta nuestro producto concreto.

95
00:06:07,230 --> 00:06:13,520
Entonces por aca llévatelas la primera cería pisa Nueva York vegetariana.

96
00:06:17,930 --> 00:06:20,390
Pero recuerden, es un producto concreto.

97
00:06:21,890 --> 00:06:27,110
Stents de donde rha bueno, de pisa.

98
00:06:27,110 --> 00:06:34,430
Producto de esta clase tracta una implementación concreta de un producto de una pisa pisa producto.

99
00:06:36,800 --> 00:06:38,930
Acá tengo que inventar dos métodos, por lo menos.

100
00:06:40,070 --> 00:06:40,910
El cocinar.

101
00:06:43,490 --> 00:06:44,720
Y también había otro más.

102
00:06:45,200 --> 00:06:46,520
Vamos a ver, a ver.

103
00:06:47,770 --> 00:06:56,560
Por acá tenemos el método Autre publi, cortás public faltó público, hoy faltó acá el public, a ese

104
00:06:56,570 --> 00:06:57,640
entonces volvemos.

105
00:06:58,790 --> 00:07:04,430
Y ahora si implementa el método cortar los extremos, las dos, cocinar y cortar.

106
00:07:05,060 --> 00:07:12,860
Pero antes vamos a tener un constructor por acá para inicializar los datos de Tapiza con su ingrediente,

107
00:07:12,860 --> 00:07:15,050
con su nombre S, con toda su información.

108
00:07:15,650 --> 00:07:21,770
Entonces vamos a crear acá un constructor generate constructor.

109
00:07:23,150 --> 00:07:29,510
Recuerden que heredamos de pieza a producto, pero episo de producto también tiene constructor acá que

110
00:07:29,600 --> 00:07:32,210
inicializa el ArrayList es importante.

111
00:07:32,900 --> 00:07:39,440
Entonces acá estamos obligado al súper inicializar el constructor del padre para tener la lista de ingredientes.

112
00:07:39,650 --> 00:07:45,290
Bueno, lo primero nombre Pizza Vegetariana Nueva York

113
00:07:50,210 --> 00:07:51,320
y ahí tenemos el nombre.

114
00:07:51,560 --> 00:07:57,950
Acá lo estamos analizando dentro constructor porque es un nombre propio de Tapiza, aunque también se

115
00:07:57,950 --> 00:08:01,050
podría implementar afuera con un método Z.

116
00:08:01,730 --> 00:08:05,800
Es decir, fuera de esta clase y pasar como argumento viene todo.

117
00:08:06,290 --> 00:08:11,480
Pero la idea de este patrón es que los productos estén parametrizar ados en esta fábrica de objeto para

118
00:08:11,480 --> 00:08:14,660
que esté un poco más empaquetado dentro de la clase como un producto final.

119
00:08:14,830 --> 00:08:17,810
Vamos a implementar en el constructor nombre que más.

120
00:08:17,900 --> 00:08:18,470
La masa

121
00:08:21,800 --> 00:08:29,930
masa integral no se gana una masa propia de esta pieza vegetariana de Nueva York.

122
00:08:31,430 --> 00:08:31,940
Qué más?

123
00:08:32,000 --> 00:08:32,630
Salsa

124
00:08:37,490 --> 00:08:43,670
Salsa tomate ingredientes ingredientes punto AB.

125
00:08:45,740 --> 00:08:47,120
Por ejemplo queso vegano

126
00:08:51,500 --> 00:08:52,490
ingredientes

127
00:08:55,190 --> 00:08:55,700
tomate.

128
00:09:02,150 --> 00:09:02,970
Aceitunas.

129
00:09:09,020 --> 00:09:09,890
Espinacas,

130
00:09:15,230 --> 00:09:17,870
berenjenas y listo.

131
00:09:17,940 --> 00:09:27,140
Hoy tenemos el constructor con los datos propio acá Shout cocinando por 25 minutos a 150 grados.

132
00:09:34,130 --> 00:09:38,540
Y cortar Soto cortándola, pisÃ

133
00:09:45,760 --> 00:09:47,060
en rebanada cuadradas.

134
00:09:47,930 --> 00:09:50,510
Ahí tenemos la pizza vegetariana Nueva York.

135
00:09:50,900 --> 00:09:53,180
Podríamos crear otra más en producto.

136
00:09:55,310 --> 00:10:00,620
12 Naidu Llévatelas, te vamos a llamar Pisa Nueva York peperoni,

137
00:10:05,090 --> 00:10:18,030
peperoni, stents, lo mismo de rdad de pisa producto con ambos métodos Atrato ok.

138
00:10:18,560 --> 00:10:19,520
El constructor.

139
00:10:25,790 --> 00:10:33,650
Con el súper importante no olvidarse el súper para inicializar el ingrediente nombre HiguaÃn pizza pepperoni,

140
00:10:33,650 --> 00:10:34,160
Nueva York

141
00:10:44,720 --> 00:10:51,650
más algaba la piedra salsa salsa de tomate.

142
00:10:52,700 --> 00:10:56,510
Ingredientes que somos a.La

143
00:10:59,390 --> 00:11:02,990
creo que con doble l s extra pepperoni,

144
00:11:11,780 --> 00:11:12,530
aceitunas

145
00:11:15,800 --> 00:11:18,380
ven, nos vamos a cocinar shout

146
00:11:21,170 --> 00:11:29,060
40 minutos a por ejemplo 90 grados cortar

147
00:11:35,750 --> 00:11:37,430
cortando la pizza en triángulos.

148
00:11:40,890 --> 00:11:41,640
Y está lista.

149
00:11:41,850 --> 00:11:43,890
Vamos por la pista New York italiana.

150
00:11:54,650 --> 00:11:55,910
Implementamos los métodos.

151
00:11:57,480 --> 00:11:57,930
Okay.

152
00:11:59,520 --> 00:12:00,030
Shout

153
00:12:06,210 --> 00:12:06,870
cortar.

154
00:12:14,790 --> 00:12:23,030
Cortando la pieza en triángulos, grandes triángulos, bien te faltaría el constructor por acá.

155
00:12:23,330 --> 00:12:27,290
Entonces con que derecho nos vamos a constructor?

156
00:12:28,630 --> 00:12:29,210
Super

157
00:12:35,870 --> 00:12:36,470
pizza italiana.

158
00:12:36,470 --> 00:12:39,200
No hay masa.

159
00:12:42,020 --> 00:12:45,560
Masa gruesa, por ejemplo salsa

160
00:12:51,860 --> 00:12:52,550
con carne

161
00:12:58,490 --> 00:12:59,510
que somos Narela.

162
00:13:02,750 --> 00:13:04,850
Otro ingrediente aceitunas.

163
00:13:10,870 --> 00:13:11,300
Jamón.

164
00:13:16,630 --> 00:13:18,190
Yo, Luisillo

165
00:13:23,440 --> 00:13:25,600
y por último champiñones, estamos listo.

166
00:13:26,350 --> 00:13:27,160
Ahora qué faltaría.

167
00:13:27,250 --> 00:13:30,340
Ya tenemos las tres, pisÃ concreta los productos.

168
00:13:30,850 --> 00:13:34,960
Nos vamos a ir al piso Nueva York Fábrica y acá la tenemos que implementar.

169
00:13:35,140 --> 00:13:36,100
Acá la vamos a crear.

170
00:13:36,370 --> 00:13:41,770
Podríamos usar un if preguntar según el tipo y de acuerdo al tipo, retornamos las instancias.

171
00:13:41,890 --> 00:13:42,450
Vamos viendo.

172
00:13:42,610 --> 00:13:44,800
Incluso podríamos usar un switch keys.

173
00:13:44,950 --> 00:13:46,600
Se guardan entonces por acá.

174
00:13:46,690 --> 00:13:48,490
Un switch tipo

175
00:13:51,250 --> 00:13:52,060
viene y comenzamos.

176
00:13:52,090 --> 00:13:53,410
Según el caso.

177
00:13:55,030 --> 00:13:56,740
Según el caso qué es?

178
00:13:57,010 --> 00:13:59,400
Vamos a colocar vegetariana.

179
00:14:01,750 --> 00:14:02,590
2 punto.

180
00:14:02,740 --> 00:14:04,780
Bajamos y acá tenemos que asignar un valor.

181
00:14:04,930 --> 00:14:13,500
Vamos a necesitar acá una variable del tipo pieza producto producto de igual null.

182
00:14:13,960 --> 00:14:14,620
Perfecto.

183
00:14:14,710 --> 00:14:16,060
Acá devolvemos producto.

184
00:14:17,350 --> 00:14:17,950
Perfecto.

185
00:14:18,340 --> 00:14:20,170
Entonces se queda en vegetariana.

186
00:14:20,830 --> 00:14:24,200
Producto es igual a New Lleca.

187
00:14:24,310 --> 00:14:25,810
Bueno sería la pisÃ.

188
00:14:25,840 --> 00:14:38,950
No hay error vegetariana cream alentarse se fijan bratt caso 2 si es peperoni perfecto.

189
00:14:39,100 --> 00:14:47,100
Lo mismo producto igual niu pisÃ Nueva York Peperoni está acá.

190
00:14:49,360 --> 00:14:54,130
Hacemos el break es otro más italiana

191
00:14:57,340 --> 00:15:07,540
producto que igual Niu Pisano York italiana por acá la tenemos Bratt y listo.

192
00:15:07,720 --> 00:15:08,500
Ahí está implementado.

193
00:15:08,860 --> 00:15:13,360
De acuerdo, el tipo va a crear la instancia y también de acuerdo a la fábrica concreta.

194
00:15:13,420 --> 00:15:20,050
Acá tenemos solamente Pisidia ayer Factory, pero también podemos tener Pizzería Nápoles de Italia o

195
00:15:20,050 --> 00:15:20,920
de los Angèle.

196
00:15:21,040 --> 00:15:25,330
Es decir, disten tapicería y cada una con su propia fábrica y sus propios productos.

197
00:15:25,390 --> 00:15:26,740
Bueno, eso por ahora.

198
00:15:26,830 --> 00:15:33,700
Y continuamos la siguiente clase con otra fábrica concreta, por ejemplo una pizzería Puese de Los Angeles

199
00:15:33,850 --> 00:15:34,660
o de Nápoles.

200
00:15:34,690 --> 00:15:35,320
Ahí vamos a ver.

201
00:15:35,380 --> 00:15:37,050
Nos vemos en la siguiente clase.
