1
00:00:04,860 --> 00:00:12,190
Bueno me tocó el turno de para hablar de las estructuras las estructuras son mucho más importantes en

2
00:00:12,190 --> 00:00:18,610
gó que en otro lenguaje de programación y voy a explicarles porque en Go no existen la programación

3
00:00:18,610 --> 00:00:25,720
orientada a objetos como la conocemos con clases con métodos con propiedades no existe no existe la

4
00:00:25,720 --> 00:00:32,690
herencia polimorfismo tal como lo hemos conocido por ejemplo el no dijo fieis en Java.

5
00:00:32,780 --> 00:00:40,420
En otros lenguajes como punto net como visual al punto Aretoa sillar no existen de esa manera Goh implementa

6
00:00:40,510 --> 00:00:48,940
una nueva forma de hacer programación orientada a objetos y para eso SEO se basa en las estructuras.

7
00:00:49,030 --> 00:00:55,900
Entonces cuando ustedes escuchan estructuras en GOW inmediatamente se le viene a la mente cómo manejamos

8
00:00:55,900 --> 00:01:02,770
comúnmente las estructuras en otros lenguajes de programación pero Go tienen un concepto especial y

9
00:01:02,770 --> 00:01:05,190
una forma especial de manejarse.

10
00:01:05,320 --> 00:01:10,570
Vamos a ver el primer ejemplo vamos a empezar de menor a mayor pero este capítulo va a ser un capítulo

11
00:01:10,570 --> 00:01:17,620
muy intenso porque vamos a aprender algo muy especial y vamos a aprender pequeñas cosas nuevas que nos

12
00:01:17,620 --> 00:01:20,720
van a enriquecer en el lenguaje.

13
00:01:20,830 --> 00:01:23,530
Vamos a ir a nuestra carpeta ejerce no 9.

14
00:01:23,680 --> 00:01:32,610
Vamos a crear nuestro nuevo archivo Moine puntocom vamos a copiar lo habitual vamos a hacer el import

15
00:01:32,680 --> 00:01:40,990
pero en este caso vamos a encerrar entre paréntesis lo que vamos a importar porque no solo vamos a importar

16
00:01:41,170 --> 00:01:49,120
el F MT sino que vamos a importar en este ejemplo que vamos a ver un nuevo paquete que es el paquete

17
00:01:49,120 --> 00:01:57,250
Timm para manejar fechas todo lo que tiene que ver con fechas y tipos de dato de tipo fecha y hora así

18
00:01:57,250 --> 00:02:00,950
que vamos a colocar en la primera línea el.

19
00:02:01,090 --> 00:02:08,050
Es indistinto el orden pueden colocar un paquete antes que el otro no no pasa nada y ahora vamos a colocar

20
00:02:08,050 --> 00:02:14,640
el paquete Timm que es un paquete de GOW muy bien ya tenemos nuestros dos paquetes.

21
00:02:14,740 --> 00:02:21,490
Inclusive en este capítulo vamos a saber cómo importar paquetes creados por nosotros así que va a ser

22
00:02:21,490 --> 00:02:23,180
muy interesante este capítulo.

23
00:02:23,230 --> 00:02:30,280
Vamos a crear nuestra estructura la sintaxis para crear una estructura en Goh comienza con la instrucción

24
00:02:30,280 --> 00:02:39,490
type luego va el nombre de la estructura por ejemplo usuario y luego va el tipo de dato que es la estructura

25
00:02:40,300 --> 00:02:47,200
tiene que ser de tipo estro muy bien ahora como cualquier estructura nosotros vamos a poder crear dentro

26
00:02:47,200 --> 00:02:54,070
de ella varias variables con su tipo de dato entonces vamos a crear una de tipo aided que se llama aided

27
00:02:54,250 --> 00:02:55,650
que es integrar.

28
00:02:55,900 --> 00:03:04,390
No hace falta separar por comas damos Center y vamos listando la estructura nombre que es de tipo String.

29
00:03:04,420 --> 00:03:11,110
Ahora vamos a colocar una fecha fecha de alta que va a ser de tipo Timm siempre ponemos primero el nombre

30
00:03:11,110 --> 00:03:20,860
del paquete luego un punto y luego la función que es el tipo de dato de estructura que es de tipo Time.

31
00:03:20,860 --> 00:03:28,580
Luego ponemos nuestro estatus y le vamos a colocar un tipo de variable Juliana muy bien.

32
00:03:28,660 --> 00:03:35,650
Esta es nuestra estructura vamos a grabar una idea de usuario un nombre una fecha de alta de usuario

33
00:03:35,920 --> 00:03:40,140
y un estatus para saber si está habilitado o no habilitado.

34
00:03:40,470 --> 00:03:48,850
Si nosotros ahora en nuestra función main hiciéramos referencia a esta estructura primero como en toda

35
00:03:48,850 --> 00:03:55,930
la programación orientada a objetos vamos a tener que crear un objeto referenciando a esta estructura.

36
00:03:55,930 --> 00:04:03,190
Cómo se crea es muy simple vamos a colocar un objeto llamado Ussher y le vamos a decir que va a ser

37
00:04:03,190 --> 00:04:11,940
un new usuario muy bien un nuevo usuario ya tenemos nuestro objeto llamado user.

38
00:04:11,950 --> 00:04:14,960
Recuerden que en programación orientada a objetos.

39
00:04:15,070 --> 00:04:22,630
Cuando nosotros definimos una clase esa clase no es un objeto en sí mismo sino que es una definición

40
00:04:22,630 --> 00:04:25,770
un mapa de cómo crear un objeto.

41
00:04:25,840 --> 00:04:34,210
Aquí engo pasa lo mismo entonces el objeto va a tener que ser creado dentro de nuestras funciones haciendo

42
00:04:34,210 --> 00:04:42,610
referencia a la estructura de usuario o las estructuras de objetos que nosotros tengamos creadas en

43
00:04:42,610 --> 00:04:43,360
el código.

44
00:04:43,360 --> 00:04:50,830
Aquí hemos creado un usuario que es un nuevo usuario y se llama y user y ahora yo voy a poder jugar

45
00:04:50,830 --> 00:04:58,150
con los valores voy a poder poner y ser punto por ejemplo fíjense como ya metra de todos los miembros

46
00:04:58,150 --> 00:05:09,540
de esa estructura y será ideal y le vamos a decir que el 10 User nombre vamos a poner Pablo y ahora

47
00:05:09,540 --> 00:05:19,470
puedo mostrar por pantalla usando nuestro viejo FME qué voy a mostrar y ser muy bien vamos a grabar

48
00:05:20,250 --> 00:05:29,580
vamos en nuestra carpeta hacemos under yo ya estaba parado en ejerceré o 9 hacemos un barran Moine apuntó.

49
00:05:29,760 --> 00:05:38,810
Esperamos lo prudencial y vamos a ver nuestro objeto nuestro objeto es un objeto de tipo usuario aquí

50
00:05:38,820 --> 00:05:39,660
nos lo dice.

51
00:05:39,720 --> 00:05:47,160
No no yo no pedí que me muestre de qué tipo era el objeto sino sus valores cómo está conformado fíjense

52
00:05:47,160 --> 00:05:56,100
que me pone un puntero lo que me muestra es un puntero y me dice el contenido del objeto está contenido

53
00:05:56,100 --> 00:06:05,040
por un número 10 en el aided un nombre Pablo y una fecha que como no la inicial y se me pone el valor

54
00:06:05,040 --> 00:06:09,570
mínimo posible el día 1 del mes 1 del año 1.

55
00:06:09,630 --> 00:06:14,160
Este es el mínimo posible de fecha y hora que maneja GOW.

56
00:06:14,610 --> 00:06:16,950
Luego me pone un fouls.

57
00:06:16,950 --> 00:06:17,490
Por qué.

58
00:06:17,490 --> 00:06:21,100
Porque yo tampoco he inicializar el estatus.

59
00:06:21,120 --> 00:06:29,740
Muy bien esto es lo básico diga vamos a ir algo más complejo porque hasta aquí todo está dentro de todo

60
00:06:29,790 --> 00:06:37,980
pero vamos a ir algo más complejo vamos a ir a lo real porque lo real es que yo cuando haga mis aplicaciones

61
00:06:38,190 --> 00:06:45,630
a nivel empresarial no voy a tener mis objetos mis estructuras creadas dentro de mi main seguramente

62
00:06:45,630 --> 00:06:52,920
van a haber librerías de estructuras creadas para darle este reutilice habilidad.

63
00:06:53,250 --> 00:06:57,160
Entonces yo voy a tener que importar esas librerías con eso.

64
00:06:57,270 --> 00:07:06,030
Esas definiciones de objeto para poder usar en mi aplicación lo que vamos a hacer en ejerceré o 9 nos

65
00:07:06,030 --> 00:07:14,220
vamos a parar en la carpeta vamos a crear una nueva carpeta la vamos a llamar y usar y dentro de ello

66
00:07:14,220 --> 00:07:21,420
ser perdón creé un archivo me parece vamos a borrar esto vamos a la carpeta vamos a crear una nueva

67
00:07:21,420 --> 00:07:28,670
carpeta Barassi llamada yo Ussher y dentro de ellos ser voy a crear un archivo que se va a llamar user

68
00:07:28,770 --> 00:07:29,550
punto.

69
00:07:29,580 --> 00:07:36,480
Fíjense que ahora ya cambiamos no hace falta llamarlo Main punto porque no todo se va a llamar Main

70
00:07:36,720 --> 00:07:43,230
main es mi programa principal el punto de entrada de ejecución por el cual mi aplicación va a empezar

71
00:07:43,230 --> 00:07:50,700
a funcionar pero yo puedo tener otros archivos punto hago con distintos nombres que van a ser paquetes

72
00:07:50,700 --> 00:07:58,110
creados por mí con toda la funcionalidad voy a poder tener paquetes creados para manejar bases de datos

73
00:07:58,140 --> 00:08:03,150
para manejar usuarios para manejar seguridad para manejar encriptación.

74
00:08:03,150 --> 00:08:11,940
Lo voy a poder ir haciendo modular el sistema y de esta forma Google me permite armar toda una estructura

75
00:08:12,360 --> 00:08:18,080
muy similar y muy evolucionada de lo que es la programación orientada a objetos.

76
00:08:18,240 --> 00:08:26,820
Entonces aquí qué vamos a hacer pacas y usar fíjense que en este caso el Visual Studio coime ya se da

77
00:08:26,820 --> 00:08:30,520
cuenta que tengo que comenzar con esta sintaxis.

78
00:08:30,560 --> 00:08:30,980
Por qué.

79
00:08:30,990 --> 00:08:36,850
Porque si el archivo se llama usar el pacas conviene ponerle el mismo nombre.

80
00:08:36,870 --> 00:08:40,030
Es una práctica casi obligada.

81
00:08:40,380 --> 00:08:44,550
No voy a colocar pacas Main porque mi pacas Moine estar en otro lado.

82
00:08:44,550 --> 00:08:47,870
No podemos repetir los nombres de los packages.

83
00:08:48,080 --> 00:08:51,420
Bueno en mi packaging y usar lo que yo voy a hacer.

84
00:08:51,420 --> 00:08:56,180
Voy a hacer un import solamente de la librería Time.

85
00:08:56,280 --> 00:09:04,200
No voy a importar FME porque esto va a ser código que no va a mostrar por pantalla en Maine.

86
00:09:04,200 --> 00:09:09,070
Voy a interactuar con el usuario y voy a mostrar pero estos son librerías de código.

87
00:09:09,210 --> 00:09:16,560
Lo que estoy creando y voy a crear mi estructura usuario lo coloca en mayúscula para que tenga usabilidad

88
00:09:16,560 --> 00:09:19,840
dentro de todo el sistema y no solo dentro de este archivo.

89
00:09:19,840 --> 00:09:27,100
Recuerden el tema de las variables globales y demás voy a tener que darle una visibilidad mayor.

90
00:09:27,150 --> 00:09:34,490
Ahora si dentro de mí Paucar yo quiero tener un tipo de usuario que se va a usar solamente adentro de

91
00:09:34,490 --> 00:09:40,750
ese packaging porque va a ser algo privado porque lo voy a usar para hacer cálculos dentro de la funcionalidad

92
00:09:40,750 --> 00:09:41,700
de ese pacas.

93
00:09:41,790 --> 00:09:49,080
Ahí sí lo voy a colocar en minúscula para que no sea visible cuando yo esté haciendo referencia desde

94
00:09:49,080 --> 00:09:51,520
afuera de ese archivo.

95
00:09:51,540 --> 00:09:56,840
Espero que se entienda esto esto es un tema de ESCO de objetos.

96
00:09:57,060 --> 00:10:02,010
Va a haber cosas que las voy a manejar privada dentro de este pacas y hay cosas que las voy a tener

97
00:10:02,010 --> 00:10:06,970
que ver desde afuera como usuario lo voy a ver desde afuera.

98
00:10:07,160 --> 00:10:10,550
Yo lo creo en mayúsculas.

99
00:10:10,670 --> 00:10:15,640
Aquí vamos a repetir lo mismo lo mismo que teníamos antes.

100
00:10:15,710 --> 00:10:22,020
Vamos a colocar una idea y lo vamos a poner todo ahora en mayúscula.

101
00:10:22,520 --> 00:10:26,830
Una idea el nombre va a ser de tipo String.

102
00:10:26,960 --> 00:10:34,930
Vamos a ser fecha alta que va a ser Time Puntoticket el segundo Time va en mayúscula.

103
00:10:35,210 --> 00:10:36,940
Es muy importante eso.

104
00:10:37,100 --> 00:10:43,550
Cuando ustedes vean que tienen que hacer referencia a tipos de datos que vienen en paquetes siempre

105
00:10:43,610 --> 00:10:45,810
lo van a ver también con el string.

106
00:10:45,830 --> 00:10:50,360
Siempre se usa el segundo en mayúscula.

107
00:10:50,360 --> 00:10:58,780
Esas son convenciones que pone ya vienen en el lenguaje y nosotros no podemos hacer más que eso.

108
00:10:58,820 --> 00:11:06,050
Muy bien si yo grabara esto desde mi Moine yo puedo hacer importar este paquete y usarlo sin problemas.

109
00:11:06,050 --> 00:11:13,280
Pero vamos a hacerlo más complejo vamos a agregarle un método o una función en realidad vamos a hacer

110
00:11:13,280 --> 00:11:20,120
una función que en realidad va a operar como método recuerden que en Google no existe la palabra método

111
00:11:20,770 --> 00:11:26,630
en Son todas funciones lo que determina si funciona como un método o como una función.

112
00:11:26,630 --> 00:11:34,550
Si devuelve o no valores esta función que vamos a crear ahora no devuelve valores sino que va a funcionar

113
00:11:34,550 --> 00:11:42,140
como un método un método de asignación de valores entonces comienza con funk y lo que vamos a ver ahora

114
00:11:42,200 --> 00:11:50,270
es que antes de colocarle el nombre de nuestro método vamos a decirle que va a recibir de parametro

115
00:11:50,780 --> 00:11:56,020
pero no recibir por el usuario sino que va a hacer referencia a esta función.

116
00:11:56,120 --> 00:12:07,070
Ahora les voy a explicar esto vamos a llamarla alta usuario vamos a escribir tipo camello vamos a recibir

117
00:12:07,160 --> 00:12:12,680
una idea de tipo entero vamos a recibir un nombre que va a ser de tipo String.

118
00:12:12,800 --> 00:12:23,840
Vamos a recibir fecha alta que va a ser de tipo Time Puntoticket y vamos a recibir estatus que es booleana.

119
00:12:23,840 --> 00:12:26,870
Esta es nuestra función qué es lo que va a hacer esto.

120
00:12:27,350 --> 00:12:30,950
Prefiero escribirla para poder explicar y ser más claro.

121
00:12:30,950 --> 00:12:38,570
Esta función va a recibir parámetros que se los voy a pasar desde mi main cuando yo haga referencia

122
00:12:38,840 --> 00:12:47,570
por herencia a este tipo de estructura pero esta función va a estar impactando va a estar haciendo una

123
00:12:47,570 --> 00:12:51,620
referencia a este objeto a esta estructura.

124
00:12:51,620 --> 00:12:57,920
Entonces cuando dentro de la función yo esté hablando de Díaz voy a estar hablando porque esto es un

125
00:12:57,920 --> 00:13:06,940
tipo puntero voy a estar hablando de la estructura usuario si yo aquí coloco Tiz punto.

126
00:13:07,160 --> 00:13:15,420
Fíjense que al poner Diz me aparecen todos todos y cada uno de los componentes de la estructura por

127
00:13:15,420 --> 00:13:15,950
qué.

128
00:13:15,980 --> 00:13:24,410
Porque yo le dije que cuando dentro de la función haga mención a Diz eso tenía que ser un puntero hacia

129
00:13:24,510 --> 00:13:25,600
usuario.

130
00:13:25,730 --> 00:13:38,270
Entonces al colocar Diz y colocar ahí dije voy a poder grabarle el valor de aided al colocar déis nombre

131
00:13:38,630 --> 00:13:42,400
voy a poder llamar a nombre.

132
00:13:42,500 --> 00:13:51,770
Al colocar Ordiz y poner fecha alta en mayúscula voy a poder grabar fecha alta en minúscula que son

133
00:13:51,770 --> 00:14:01,010
todos los campos que me vienen de parametro y yo coloco Tiz y coloco status voy a poder grabar status

134
00:14:01,880 --> 00:14:03,080
se entiende esto.

135
00:14:03,080 --> 00:14:12,040
Si yo no hubiera colocado esto y entro y desde afuera llamo al usuario cómo hago referencia a esto como

136
00:14:12,050 --> 00:14:25,010
le digo tendría que crear un nuevo objeto tendría que crear un nuevo objeto por ejemplo que sea un apuntador

137
00:14:25,820 --> 00:14:30,260
donde está la persona que sea un apuntador de usuario.

138
00:14:30,260 --> 00:14:40,790
Esto es lo mismo que eso pero generalmente lo que hacen en Goh es directamente antes de entrar a la

139
00:14:40,790 --> 00:14:49,070
función se le dice a la función que dentro de la función cuando se haga mención de la palabra déis ahí

140
00:14:49,100 --> 00:14:52,880
voy a estar apuntando a la estructura usuario.

141
00:14:52,880 --> 00:14:54,620
En realidad por qué dice.

142
00:14:54,620 --> 00:15:00,860
Porque dice usa ustedes lo habrán visto en Java dice usa para hacer referencia al objeto en el que estoy

143
00:15:00,860 --> 00:15:09,500
parado y cómo estoy parado de la estructura que es usuario y dentro del Package que es Houser se usa

144
00:15:09,560 --> 00:15:16,490
la convención días más o menos para que cuando alguien lee un código lo entienda y no diga PPO Pato

145
00:15:16,550 --> 00:15:18,280
cualquier cosa muy bien.

146
00:15:18,890 --> 00:15:26,960
Ahora nosotros ya tenemos nuestro paquete creado nuestro paquete y usarlo vamos a grabar y ya lo tenemos

147
00:15:27,020 --> 00:15:30,530
en nuestra carpeta y user vamos a cerrar aquí.

148
00:15:30,710 --> 00:15:38,120
Vamos a volver a nuestro Main a nuestro Main y lo que vamos a hacer aquí vamos a borrar esta estructura

149
00:15:38,840 --> 00:15:47,540
porque ya si vamos a un Dator un ejemplo real ya no tenemos que manejar la estructura dentro de main.

150
00:15:47,540 --> 00:15:54,830
Nosotros vamos a ponerlos a hacer un nuevo desarrollo creamos un Mayne y nos dicen que tenemos que usar

151
00:15:55,520 --> 00:15:58,880
el paquete y Ussher porque tenemos que dar de alta a usuarios.

152
00:15:58,880 --> 00:16:05,780
Quiero aclarar algo esto es a modo de ejemplo aquí en nuestro paquete y Ussher seguramente en un ejemplo

153
00:16:05,780 --> 00:16:13,160
real va a haber manejo de base de datos base va a haber un import a otros paquetes o Sever paquetes

154
00:16:13,160 --> 00:16:20,390
importando otros paquetes donde vamos a manejar bases de datos alta usuario va a conectarse a la base

155
00:16:20,390 --> 00:16:22,220
de datos va a ser validaciones.

156
00:16:22,220 --> 00:16:27,260
Nosotros estamos viendo un ejemplo ahora porque todavía no hemos visto bases de datos ni nada de eso

157
00:16:27,440 --> 00:16:34,490
así que vamos a vamos a ver lo que tiene que ver con nuestro primer con nuestra primera sección del

158
00:16:34,490 --> 00:16:37,780
curso vamos a nuestro Main.

159
00:16:37,790 --> 00:16:42,440
Aquí lo que vamos a hacer es algo nuevo en nuestro import.

160
00:16:42,440 --> 00:16:52,040
Vamos a crear primero una referencia llamada Hush lo puedo llamar Pepe cualquier cosa no es un nombre

161
00:16:52,040 --> 00:16:59,450
de variable nombre de objeto y luego vamos a decirle que cuando nosotros dentro de Main hablemos de

162
00:16:59,450 --> 00:17:10,730
US de la UBA la S en realidad vamos a estar haciendo mención al paquete y user fijense un tema importante

163
00:17:10,820 --> 00:17:18,380
dos cosas que nos están mostrando ahora los paquetes tienen que estar en la carpeta en la que estoy

164
00:17:18,380 --> 00:17:24,830
parado en la carpeta que estoy parado estoy en ejerceré o nueve por debajo tienen que estar los paquetes

165
00:17:24,860 --> 00:17:31,580
porque recuerden que esto una vez que compila ya el ejecutable y lo mando a cualquier sistema operativo

166
00:17:31,580 --> 00:17:32,770
y funciona.

167
00:17:33,020 --> 00:17:42,110
Ahora y por un tema de usabilidad conviene que los paquetes esté todo metido dentro de la misma carpeta

168
00:17:42,110 --> 00:17:48,750
de proyecto esto lo vamos a ver bien cuando veamos GIT y todo lo que tiene que ver con versionado de

169
00:17:48,750 --> 00:17:50,010
código y demás.

170
00:17:50,130 --> 00:17:58,440
Ahora aquí GOM me está obligando a hacer dos cosas una a mencionar el nombre de la carpeta fijense que

171
00:17:58,440 --> 00:18:06,210
yo aquí no estoy diciendo el nombre del paquete la carpeta en la carpeta y user vou asume que dentro

172
00:18:06,210 --> 00:18:09,670
de la carpeta y user hay un ser punto.

173
00:18:09,780 --> 00:18:12,990
Si yo Millos apunta vale cambiar el nombre.

174
00:18:12,990 --> 00:18:21,930
Esto no funciona no funciona porque lo que me permite importar es la carpeta y dentro de la carpeta

175
00:18:21,930 --> 00:18:24,270
tiene que estar el archivo correspondiente.

176
00:18:24,270 --> 00:18:26,670
Entonces esto es muy importante.

177
00:18:26,670 --> 00:18:27,990
Esto no funciona

178
00:18:30,570 --> 00:18:38,280
esto no funciona no no funciona sigo lo que hace es importar paquetes y los paquetes son carpetas.

179
00:18:38,340 --> 00:18:44,670
Si ustedes van a la carpeta donde instalo GOW van a ver que hay una carpeta FBT una carpeta Taine.

180
00:18:44,760 --> 00:18:55,220
Así funciona muy bien ahora yo ya hice mención a mi carpeta que va a ser mi paquete nuevo y lo voy a

181
00:18:55,210 --> 00:19:00,670
grabarlo distanciar dentro de mi main con el nombre Yus.

182
00:19:00,740 --> 00:19:09,590
Entonces vamos a crear una nueva estructura para hacerlo más complejo y qué vamos a ver con esto.

183
00:19:09,620 --> 00:19:14,110
Vamos a ver herencia vamos a ver herencia.

184
00:19:14,510 --> 00:19:24,020
Supongamos que yo quiero heredar yo quiero heredar de mis usuarios de mi estructura usuario voy a crear

185
00:19:24,020 --> 00:19:32,240
una nueva estructura llamada Pepe cualquier cosa porque pepesuno usuario en definitiva le voy a decir

186
00:19:32,240 --> 00:19:38,130
que de tipo Astro y voy a decirle que dentro

187
00:19:40,980 --> 00:19:52,830
voy a hacer mención a usuario dentro de Pepe lo que tengo es una es como si fuera un puntero a usuario.

188
00:19:52,860 --> 00:20:03,320
Vamos a ir a nuestro mail para ver si funciona vamos a hacer un user le vamos a decir que es un objeto

189
00:20:03,320 --> 00:20:08,210
creado va a ser de tipo new Peppe fijense.

190
00:20:08,260 --> 00:20:17,350
Yo no estoy creando Nioh y Houser no estoy creando nuevo usuario estoy creando un usuario llamado Pepe

191
00:20:17,620 --> 00:20:23,500
que en realidad es una herencia de la estructura llamada usuario se entiende esto.

192
00:20:23,500 --> 00:20:30,580
Yo aquí voy a poder crear n usuarios y lo bueno de esto es que yo dentro de PP voy a poder agregar tipos

193
00:20:30,580 --> 00:20:41,740
de datos además como extendiendo como dándole polimorfismo a lo que es la estructura la estructura de

194
00:20:41,770 --> 00:20:49,540
usuario lo puedo heredar y puedo modificarlo entonces yo aquí estoy creando un musher que es de tipo

195
00:20:49,540 --> 00:20:56,740
Peppe y voy a decir que yo ser punto alta usuario

196
00:20:59,200 --> 00:21:06,910
recuerden que teníamos un alto usuario le voy a poner Pablo chilota vamos a seguir con los parámetros

197
00:21:06,910 --> 00:21:14,960
fijense ahora yo estoy usando una función de Time paraqué para fecha alta fíjense que aquí me da una

198
00:21:14,960 --> 00:21:23,270
ayuda de cómo está compuesto alta usuario porque entiende por más que haya pasado de ser a PP y de PP

199
00:21:23,270 --> 00:21:29,430
ahora es un ser que yo seré aquí es un objeto no tiene nada que ver con esto.

200
00:21:29,510 --> 00:21:38,240
Vamos vamos a hacerlo diferente vamos a poner le voy a poner una o directamente para que no crea confusión

201
00:21:38,540 --> 00:21:47,570
este Ussher coneste esto es un objeto llamado o y a ser de tipo PP y voy a usar de PP la función alta

202
00:21:47,570 --> 00:21:50,140
usuario ahora PP no tiene ninguna función.

203
00:21:50,230 --> 00:21:56,710
Alta usuaria por qué no me permitió hacer esto porque estoy haciendo herencia.

204
00:21:56,750 --> 00:21:59,570
Esta es la manera de hacer herencia.

205
00:21:59,570 --> 00:22:02,570
Muy bien y aquí le voy a poner un Truc

206
00:22:05,570 --> 00:22:07,320
si esto estuviera mal si.

207
00:22:07,460 --> 00:22:13,280
Si esto fuera cualquier cosa no me hubiera parecido la ayuda de alto usuario porque cómo encontró al

208
00:22:13,370 --> 00:22:33,290
usuario y ahora lo que voy a hacer es un FME print LN o punto usuario muy bien fijense como yo o que

209
00:22:33,290 --> 00:22:40,160
en realidad viene de PP yo estoy creando la forma de que me muestre por pantalla algo que viene de otro

210
00:22:40,160 --> 00:22:50,720
paquete estoy haciendo una herencia de herencia una cosa muy buena vamos a grabarlo íbamos a ejecutar

211
00:22:51,080 --> 00:22:59,380
nuestro punto bueno muy bien en fijense me está mostrando cómo está compuesto ahora usuario y ya me

212
00:22:59,380 --> 00:23:03,240
aparece la idea 1 Pablo chilota la fecha de hoy.

213
00:23:03,250 --> 00:23:11,350
De paso se enteran que fecha y hora estoy grabando el video y un troll que es lo que hemos puesto aquí.

214
00:23:11,560 --> 00:23:20,470
Esto es lo que tienen que aprender de manejo de usuarios manejo de objetos programación orientada a

215
00:23:20,470 --> 00:23:22,010
objetos.

216
00:23:22,180 --> 00:23:25,520
Por supuesto puede haber muchos más ejemplos.

217
00:23:25,540 --> 00:23:32,680
Básicamente esto es lo más importante el cómo crear paquetes cómo alojarlos en carpetas que cuelguen

218
00:23:32,680 --> 00:23:40,070
de mi carpeta principal cómo las tenemos que llamar del mismo nombre de la carpeta al archivo apuntado.

219
00:23:40,420 --> 00:23:43,960
Cómo los vamos a importar en nuestra aplicación.

220
00:23:44,230 --> 00:23:51,050
Entonces ahora ustedes van a poder tener la libertad de crear carpetas y paquetes y van a poder llamarlos.

221
00:23:51,310 --> 00:23:52,430
Su código.

222
00:23:52,630 --> 00:23:59,720
Va a ser simple no van a tener tanto código porque van a tener distribuido el código en distintos paquetes.

223
00:23:59,890 --> 00:24:08,030
Y a esto apunta Goh a la programación limpia a menos código a que sea más legible a que tengamos todo

224
00:24:08,030 --> 00:24:13,640
estructurado y sale muy fuerte a competir en programación orientada a objetos.

225
00:24:13,640 --> 00:24:19,500
Con esto no nos vamos a extender más en lo que es programación orientada a objetos.

226
00:24:19,610 --> 00:24:28,400
Podríamos estar 50 capítulos pero quiero sembrar las bases para que ustedes puedan avanzar y veamos

227
00:24:28,460 --> 00:24:31,630
otros temas así que nos vemos en el próximo capítulo.
