Saltar navegación

ejemplo clase Futbolista - Contenido educativo

Ajuste de pantalla

El ajuste de pantalla se aprecia al ver el vídeo en pantalla completa. Elige la presentación que más te guste:

Subido el 21 de noviembre de 2022 por Stefano C.

54 visualizaciones

Descargar la transcripción

Ah, no lo he dicho antes, pero todo lo que digáis en esta grabación, me habéis dado consentimiento, bla bla bla bla 00:00:00
Entonces, vamos a crear futbolista, ¿vale? Una nueva clase, clase futbolista 00:00:05
Sin main, fuera el main, ahí, ya está, aquí está 00:00:13
Lo que vamos a hacer es crear, sustancialmente, por aquí una clase futbolista 00:00:17
Y luego haremos otra clase 00:00:27
Prueba futbolista 00:00:29
O equipo, o lo que sea 00:00:30
Que usará esta clase aquí 00:00:32
Lo mismo que hemos hecho antes con la bicicleta 00:00:35
Pero en vez de estar todo junto en una clase 00:00:38
Pues ahora tengo dos clases separadas 00:00:41
Vamos a crear 00:00:42
A pensar qué necesito de un futbolista 00:00:48
Cuáles son las características de un futbolista 00:00:52
Nombre 00:00:55
¿Qué es un nombre? 00:00:57
Venga, nombre 00:00:59
Más 00:01:01
¿Qué es dorsal? 00:01:02
Int 00:01:06
Dorsal 00:01:07
Más 00:01:08
Equipo 00:01:09
¿Qué es equipo? 00:01:13
Más 00:01:15
Posición 00:01:19
¿Cómo se dice posición? 00:01:22
Posición 00:01:24
Posición sin acento 00:01:24
¿Qué es posición? 00:01:26
Vamos a dar un stream 00:01:28
¿Quieres? ¿Por qué no? 00:01:35
Int, goles 00:01:43
¿Queréis algo más? 00:01:44
Bicicleta 00:01:53
Bic 00:01:54
Tendrán bicicleta, ¿no? 00:01:55
Fijaos que puedo, ¿eh? 00:02:00
¿Por qué no? 00:02:04
Venga 00:02:06
Vamos a crear un futbolista 00:02:07
¿Cómo creo un futbolista? 00:02:10
¿Qué necesito para crear un futbolista? 00:02:11
¿Qué hace falta? ¿Un constructor? 00:02:14
Venga, ¿cómo se hace un constructor? 00:02:19
Lo he dejado 00:02:24
Para mi sistema 00:02:24
Es fundamental saber 00:02:29
¿Cuál es la bicicleta del futbolista? 00:02:30
¿Por qué no? 00:02:32
¿Por qué no? 00:02:37
Venga 00:02:38
Estamos experimentando 00:02:39
¿Está claro a todos 00:02:43
Que estas clases 00:02:46
No son muy buenas para trabajar allí fuera? 00:02:47
Porque son un poquito básicas para poder hacer un programa serio, ¿vale? 00:02:52
Entonces experimentamos con ellas, ¿por qué no? 00:02:56
Venga 00:02:58
¿Cómo creo un constructor? 00:02:58
Un bolista 00:03:12
Te equivocas de deporte, ¿vale? 00:03:13
¿Qué necesito que me importa de un futbolista? 00:03:20
Nombre seguramente 00:03:26
Sobre todo 00:03:41
A ver, sobre todo la bicicleta 00:03:42
Fundamental 00:03:46
Asumamos esto, ¿vale? 00:03:46
Yo podría crear 00:03:51
Un futbolista 00:03:52
Sin nada 00:03:54
Luego después le asignaré 00:03:55
Un equipo, a lo mejor cambia de equipo 00:03:57
Todavía 00:03:59
A salida ahora de 00:04:00
De la juventud 00:04:02
¿Cómo se llama aquí? 00:04:04
La cantera 00:04:06
Entonces todavía no sé a qué equipo va 00:04:07
No sé su dorsal 00:04:10
Pero el nombre lo tiene 00:04:11
También los futbolistas son personas 00:04:13
Entonces, ¿qué hago? 00:04:17
¿Qué pongo? 00:04:20
Dis.nombre 00:04:24
Igual al nombre 00:04:26
Y hasta aquí 00:04:27
No hay problema 00:04:32
Ahora, recordaros 00:04:34
Que el rol de un 00:04:36
Constructor 00:04:40
Es que 00:04:41
Estas variables de aquí 00:04:43
Estén inicializadas 00:04:45
Porque si yo no la he inicializado 00:04:46
Si luego la uso, explota 00:04:48
¿Vale? 00:04:50
Entonces tengo que inicializar esta cosa 00:04:52
Pero no las tengo aquí 00:04:54
Entonces le tendré que dar 00:04:55
Lo que llamaré valores por defectos 00:04:58
O sea, si no me han dado un valor 00:05:00
¿Qué valor le pongo? 00:05:01
Por ejemplo, ¿qué valor le doy al dorsal? 00:05:03
Bueno, no me hace falta 00:05:08
Si no me han dado un dorsal 00:05:09
Cero, por ejemplo 00:05:12
Existe 00:05:14
Se puede poner un dorsal 0 00:05:15
Entonces no le pongo 0 00:05:17
Menos 1 00:05:20
Como no me han dado algo 00:05:21
Le voy a poner algo que no va a aparecer nunca 00:05:25
Así luego 00:05:28
Puedo preguntarme 00:05:33
Si el dorsal es menor que 0 00:05:35
Entonces quiere decir que no me lo han dado 1 00:05:38
Y le asignaré un dorsal 00:05:40
Equipo 00:05:41
¿Qué valor le doy? 00:05:45
Nada, es vacío 00:05:54
¿Puedo dar, por ejemplo, nada? 00:05:55
String, vacío 00:06:01
Posición 00:06:02
Vacío también 00:06:04
Goles 00:06:08
O banquillo, podría darle 00:06:13
Me gusta 00:06:18
Banquillo 00:06:19
Así es, tío 00:06:20
¿Sí? 00:06:22
Por defecto 00:06:26
A descansar 00:06:28
Gol es cero 00:06:29
¿Y bicicleta? 00:06:31
¿Cómo funciona eso cuando ya está? 00:06:33
A mí no me han dicho 00:06:45
No me han dicho si tiene bicicleta o no 00:06:46
¿Qué hago? 00:06:49
Pues eso lo tengo que pensar yo, ¿vale? 00:06:50
Es decir, yo quiero que cuando creo un futbolista 00:06:52
Siempre tenga una 00:06:55
Una bicicleta 00:06:57
Pues entonces se la creo 00:06:58
Pero ¿qué nombre le doy a la bicicleta? 00:06:59
Y si no le doy un valor por defecto 00:07:05
Ahora, el valor por defecto de un objeto 00:07:08
Nul 00:07:12
Fijaos el colorín 00:07:15
¿Qué color tiene? 00:07:19
Es una palabra reservada 00:07:24
Null quiere decir no existes 00:07:25
Cuidado que si yo ahora intento hacer 00:07:27
Vic.algo 00:07:30
Explota 00:07:32
Me dice no existe este objeto 00:07:33
¿Vale? 00:07:35
Antes de poder utilizarlo le tendré que asignar 00:07:37
Una 00:07:40
Una bicicleta 00:07:42
Si no, no puedo 00:07:43
00:07:44
Pero es que yo si ahora 00:07:47
Empezo mi carrera de futbolista, ¿cuántos goles he hecho? 00:07:57
Tiene un problema de poner 00:08:02
O sea, la diferencia entre 00:08:03
Esto y esto 00:08:05
Es que yo goles ya se han hecho cero 00:08:07
Dorsal 00:08:09
Puede que tú tengas el dorsal a cero 00:08:11
Y si yo me asigno el dorsal a cero, pues tengo tu dorsal 00:08:13
¿Vale? 00:08:15
Si cero es un dorsal 00:08:17
Posible, entonces 00:08:19
No lo ponga aquí como valor por defecto 00:08:21
Porque eso no quiere decir que ya me han asignado un dorsal 00:08:23
Lo que te da la gana 00:08:25
Aquí podría poner 1000 00:08:28
Pues al 1000 no existe 00:08:29
No lo he visto 00:08:31
¿Dudas sobre esto? 00:08:33
Vale, ok 00:08:42
Pregunta para vosotros 00:08:43
¿Y si yo esta información la sé? 00:08:45
¿Y cómo lo hago? 00:08:53
Me creo un nuevo 00:08:58
Constructor 00:08:59
Que se diferencie de esto 00:09:00
por los parámetros que pilla 00:09:05
por ejemplo, esto ahora pilla 00:09:07
el nombre 00:09:09
el int dorsal 00:09:10
el string equipo 00:09:13
el string 00:09:17
posición 00:09:25
los goles 00:09:25
int goles 00:09:31
y bicicleta 00:09:33
Pic 00:09:37
Fundamental 00:09:39
Entonces aquí dentro como cambia 00:09:41
Cambiará que 00:09:44
Dis.dorsal es igual a 00:09:46
Dorsal 00:09:49
Dis.equipo 00:09:51
Será 00:09:56
Equipo 00:09:57
Dis.posición 00:10:00
Será 00:10:04
Posición 00:10:05
dis.goles 00:10:08
serán goles 00:10:12
y dis.bic 00:10:14
serán bic 00:10:19
lo veis 00:10:21
la idea es 00:10:28
yo puedo hacer todos los 00:10:31
constructores que yo quiera 00:10:33
siempre y cuando sean distintos 00:10:36
los parámetros que yo doy 00:10:38
no puedo hacer 00:10:40
Otro 00:10:42
Futbolista con string 00:10:45
Posición 00:10:48
Esto no lo puedo hacer 00:10:51
Porque si luego yo creo un futbolista 00:10:55
Dándole una string 00:10:58
Por algún lado hago algo así 00:11:00
Futbolista de ola 00:11:03
Este ola 00:11:06
¿Qué es? ¿Un nombre? 00:11:11
¿O una posición? 00:11:13
No lo sé 00:11:17
Entonces, los constructores no pueden ser ambivos 00:11:18
No puedo tener dos constructores que tengan los mismos parámetros 00:11:21
Pero sí puedo tener todos los constructores que yo quiera 00:11:28
Con parámetros distintos 00:11:37
Hasta puedo tener un constructor vacío 00:11:40
Me crea un futbolista completamente vacío 00:11:46
¿Dudas? 00:11:56
No, TISA sirve para desambiguar 00:11:59
Que estoy hablando de este objeto 00:12:09
De un atributo de ese objeto 00:12:12
¿Dudas? 00:12:13
Lo dejamos así, cuidado 00:12:17
No necesariamente necesito tener 00:12:19
Todos los 00:12:24
Las posibles combinaciones 00:12:26
De constructores 00:12:29
Yo puedo decir, quiero solo estos tres 00:12:30
Un futbolista se puede crear 00:12:33
O vacío, y luego lo rellenaré de alguna forma 00:12:35
O con su nombre 00:12:38
Entonces pongo el nombre y todo el resto vacío 00:12:40
O si no, dándole todo 00:12:42
No existe una forma en la que pongo 00:12:44
Solo el nombre y el equipo 00:12:47
Pues ese constructor no existe 00:12:49
¿Vale? 00:12:51
¿Dudas hasta aquí? 00:12:55
¿Le hacemos hacer algo a este futbolista? 00:12:58
¿Señar gol? 00:13:05
¿Clásico? 00:13:07
Entonces, ¿cómo hago un método que hace un gol? 00:13:08
Dime 00:13:21
Public 00:13:22
Esperad que lo subo un poquito 00:13:25
Public 00:13:29
Void 00:13:33
Goal 00:13:35
¿Se escribe así, gol? 00:13:42
¿O es así? 00:13:45
No, no 00:13:47
¿Qué hace? 00:13:48
esto punto goles hagamos otro da venga cambiamos su posición como cambio 00:13:53
posición public hoy cambia posición que le pongo parámetro nueva posición y como 00:14:09
cambio para clarificar que esto no está haciendo sobre este objeto pero si lo 00:14:33
fija si lo quito pues se queda azul pues lo hago para que asimila es el concepto 00:14:53
Y en vez de nueva posición, no podría ser posición igual que arriba 00:15:02
También 00:15:07
Ten en cuenta que esto luego por algún lado te aparece, creo 00:15:09
Ahora lo miramos 00:15:12
A lo mejor para que explique qué es esta cosa 00:15:14
¿Vale? 00:15:17
No lo sé, ¿qué otra cosa podemos hacer? 00:15:19
Y ahora hagamos una cosa nueva 00:15:24
Que es public string toString 00:15:30
String a resultado 00:15:35
Return raise 00:15:49
¿Qué es este método de aquí? 00:15:52
Este método de aquí es un método especial, el toString 00:15:55
Que es algo que existe en todos los objetos 00:15:57
Por defecto existe ya un toString 00:16:01
Pero lo que hace es feo 00:16:04
Si yo quiero que haga algo bonito 00:16:06
Lo reescribo 00:16:10
Lo pongo aquí, con esta cosa aquí 00:16:11
Public string to string 00:16:14
Y ahora me creo un 00:16:15
Programita 00:16:17
Que cuando lo llamo sobre este objeto 00:16:19
Me escribe directamente 00:16:21
Este objeto 00:16:23
Una descripción de este objeto 00:16:24
Por ejemplo 00:16:27
Soy 00:16:28
Como le escribo mi nombre 00:16:32
This. 00:16:37
Nombre 00:16:41
Y juego 00:16:43
En el 00:16:49
Dis.equipo 00:16:51
Como 00:17:01
Dis.posición 00:17:06
Punto 00:17:13
Sigo 00:17:18
Llevo 00:17:24
Más 00:17:27
¿Cuántos goles? 00:17:33
Dis.goles 00:17:37
Goles 00:17:40
Goles 00:17:41
Y mi bici 00:17:43
Se llama 00:17:46
¿Sabes cómo lo saco la bici? 00:17:49
Pis 00:17:59
Punto bic 00:17:59
Punto 00:18:03
A ver, es la clase que se creó antes 00:18:12
Y mi clase dice que 00:18:21
Todas bicicletas tienen un id 00:18:22
Por lo tanto 00:18:24
Este es este objeto 00:18:26
Desde este objeto acedo a este objeto de aquí 00:18:28
Este señor de aquí 00:18:31
Es una bicicleta 00:18:32
Porque es una bicicleta 00:18:34
Eso 00:18:38
Es una bicicleta 00:18:39
Es una bicicleta 00:18:41
Por lo tanto 00:18:44
Tiene todo lo que tiene una bicicleta 00:18:46
Incluido su atributo 00:18:48
¿Sí o no? 00:18:50
Pero lo que no sé, por ejemplo, es 00:18:58
hasta que punto te detecta que has creado 00:19:03
ya antes una clase llamada 00:19:07
bicicleta 00:19:09
espera que me he perdido algo 00:19:10
para encender 00:19:12
como? 00:19:14
hasta que punto 00:19:17
como sabe el programa que has creado 00:19:17
porque está en el mismo paquete 00:19:19
de momento porque está en el mismo paquete 00:19:23
si está fuera ya no te 00:19:25
si no 00:19:26
scanner tu lo has escrito 00:19:28
Claro 00:19:30
Mañana te le das 00:19:33
La pones en el mismo paquete donde vas a usar 00:19:35
Te programas a Scanner y luego la usas 00:19:37
O haces una operación 00:19:39
Para que la puedas usar 00:19:41
Ahí, ya está, tienes tu respuesta 00:19:42
Ya hemos importado mucho 00:19:44
Hemos importado Scanner 00:19:51
Hemos importado algo de otras cosas 00:19:52
Pero como está en el mismo paquete 00:19:54
Si ven, entonces, fijaos 00:19:57
Esta es interesante, esta es una bici 00:19:59
Y por lo tanto 00:20:01
Oye, ¿cómo 00:20:02
¿Cómo acelero mi bici? 00:20:04
Este futbolista, ¿cómo acelera su bici? 00:20:09
This 00:20:14
Punto bic 00:20:14
Punto 00:20:17
Acelera 00:20:18
No, porque ¿cómo se llama la bic 00:20:20
De aquí? 00:20:29
¿Vale? 00:20:30
Aquí no se ha creado ningún objeto de pila 00:20:31
Más como para tener el bici 00:20:35
Pero vamos a ver cómo hacemos explotar todo esto 00:20:37
Vale, pero por ahora 00:20:40
¿Estamos de acuerdo con esto? 00:20:41
00:20:43
Depende, si la diesta tiene algo 00:20:44
No estará, si no tiene nada, pues no estará vacío 00:20:49
Esto, no lo sé 00:20:52
Depende de cuándo he creado este futbolista 00:20:55
Si tiene bicicleta o no 00:20:57
Cuando yo llamaré toString 00:20:58
Si lo llamo sobre un futbolista 00:21:01
Que tiene bicicleta, me dirá ok 00:21:03
Y me escribirá eso 00:21:05
Si me llama sobre un futbolista que no tiene bicicleta, pues ¡Bum! 00:21:06
Vamos a ver 00:21:11
¿Está de acuerdo con esta fantástica clase futbolista que representa un futbolista real porque tiene bicicleta? 00:21:12
¿Dudas? 00:21:20
¿Dudas? 00:21:25
No, vale 00:21:26
Entonces voy a crear otra clase 00:21:27
La clase prueba futbolista 00:21:32
Que utilizaré con un main para crear futbolistas 00:21:34
Antes este main era dentro de la misma clase futbolista 00:21:44
Ahora lo estoy usando desde otra clase 00:21:47
¿Por qué no? 00:21:49
Así mi futbolista se queda limpio 00:21:50
Con solo la información de futbolista 00:21:54
Es una clase, es un molde para crear futbolistas 00:21:56
Y yo uso este molde para crear cuantos futbolistas quiero 00:21:59
¿Vale? 00:22:03
Vamos a crear nuestro equipo 00:22:04
Venga dentro el main 00:22:06
Primer futbolista 00:22:08
Futbolista 00:22:11
¿Sí? 00:22:14
Portero 00:22:16
Es igual 00:22:20
¿Cómo crea un futbolista? 00:22:21
New 00:22:23
New 00:22:24
Futbolista 00:22:25
Entre paréntesis 00:22:28
Entre paréntesis 00:22:29
Toda la información 00:22:31
Que no es el nombre 00:22:32
Nombre 00:22:33
Que venía ahora 00:22:33
Habrá que 00:22:43
Que a mí se puede ver, ¿no? 00:22:44
Ni idea 00:22:45
Sí, sí, se hace algo 00:22:46
Dentro 00:22:48
Dorsal 00:22:48
¿Qué dorsaleta hemos, Estefano? 00:22:50
100 00:22:54
Totti, va, muy bien 00:22:55
Equipo 00:22:58
Livorno toda la vida 00:22:59
Posición 00:23:01
La historia de mi vida 00:23:07
Posición, goles 00:23:13
Cero, venga 00:23:17
Si no, no estaría en el 00:23:21
En el bronquillo 00:23:23
Y finalmente 00:23:24
Mi bicicleta 00:23:26
Vale, ¿cómo le añado a bicicleta? 00:23:29
Tendrías que llamar el objeto primero 00:23:31
Dos opciones 00:23:41
Opción 1 00:23:44
La creo antes 00:23:46
Bicicleta 00:23:47
Bicicleta 00:23:49
Mi bic 00:23:52
Es igual a 00:23:53
New bicicleta 00:23:56
Bicicleta 00:23:58
nombres, nombres, que alguien me diga un nombre, cartito, coma, y le teníamos que dar, que era la segunda cosa, a sierra de, no, primero venía sierra de montaña o no, sierra de carretera, falso, mountain bike, si, 00:23:58
Entonces con esto he creado una bicicleta nueva 00:24:28
Que se llama mi bic 00:24:32
Y entonces ahora 00:24:34
Aquí puedo usar mi bic 00:24:36
O no 00:24:38
He creado un objeto 00:24:44
Este objeto es mi bic 00:24:49
Es referenciado, tiene un puntero que es este de aquí 00:24:52
Que es una nueva bicicleta con estas características 00:24:55
Y ahora lo que yo voy a hacer aquí 00:24:57
Es ponerla como bicimiel 00:24:59
Y esto creará 00:25:03
Un futbolista 00:25:07
Vale, segundo futbolista 00:25:08
Futbolista 00:25:11
New 00:25:17
Futbolista 00:25:19
Paco 00:25:21
Coma 00:25:24
20, coma 00:25:30
Madrid 00:25:32
Coma 00:25:37
Fortero 00:25:40
¿Cómo puedo crear 00:25:48
Una nueva bicicleta aquí? 00:25:54
Pues 00:25:56
New bicicleta 00:25:59
Brum 00:26:02
Esta es una bicicleta 00:26:06
Si la creo 00:26:17
Pierdo la posibilidad de acceder 00:26:19
A esta bicicleta 00:26:21
¿Os acordáis cuando hacía esto? 00:26:23
Si hacía esto 00:26:25
Creaba un objeto 00:26:29
Pero luego no tenía modo de llegar a ese objeto 00:26:31
Entonces es como si se perdía 00:26:34
En el multiverso de Java 00:26:35
¿Vale? 00:26:37
Efectivamente, este de aquí es perdido 00:26:39
O puedo de alguna forma 00:26:42
Llegar a este objeto 00:26:44
¿Cómo? 00:26:44
F2.vic 00:26:50
La bicicleta es futbolista 00:26:53
¿Ve? Ahora luego trabajamos con él 00:26:56
Perfecto 00:27:00
Tercer futbolista 00:27:03
Es igual 00:27:08
Usamos otro 00:27:08
Constructor, ¿vale? 00:27:10
¿Cuál queréis construir? 00:27:12
Este de aquí solo con nombre 00:27:13
Por ejemplo 00:27:15
Venga 00:27:16
Entonces uso 00:27:17
New 00:27:20
Futbolista 00:27:21
Arturo 00:27:24
Y me vale 00:27:30
Cuidado que si me equivoco 00:27:36
Y aquí pongo esto 00:27:39
Se enfada 00:27:40
Me dice, no hay un constructor que pilla un string 00:27:42
Y un int 00:27:45
No sé qué hacer con estos datos 00:27:46
¿Vale? 00:27:48
Me los tiene que dar bien 00:27:50
Yo tengo o el que pilla todo 00:27:51
O el que pilla solo el nombre 00:27:53
O el que no pilla nada 00:27:55
Entonces 00:27:57
vamos a hacer 00:28:02
que se presenten 00:28:04
hagámoslo por pasos 00:28:09
venga 00:28:14
string 00:28:15
presentación es igual 00:28:17
a f1.2 string 00:28:20
acordáis que tenía 00:28:22
un método 00:28:26
que lo que hacía era 00:28:26
una presentación del futbolista 00:28:29
Y me devolvía un string 00:28:32
Pues 00:28:34
Llamo ese método, creo el string que decía 00:28:35
Soy Estefano 00:28:38
Mi dorsal 00:28:40
S100 00:28:43
No sé qué, no sé cuánto es 00:28:44
Y todo el resultado de esto lo guardo dentro de este string 00:28:45
Y después 00:28:48
Lo imprimo 00:28:49
00:29:03
Soy Estefano y juego en el Liborno 00:29:04
Como banquillo 00:29:12
Llevo cero goles 00:29:14
Y mi bici se llama el gatito 00:29:16
Perfecto 00:29:18
¿Sí? 00:29:22
¿Podemos presentar el segundo? 00:29:26
No lo sé 00:29:35
Esto solo porque he hecho el toString 00:29:36
Pero por ahora lo dejamos así 00:30:01
¿Vale? 00:30:06
Si yo toString lo llamo de otra forma 00:30:10
No me funciona 00:30:11
Veremos por qué en un futuro 00:30:12
¿Sí? 00:30:14
Entonces por ahora lo usamos así 00:30:16
Que así estamos utilizando 00:30:18
Un programa 00:30:19
Vale, perfecto, hagamos presentar el siguiente 00:30:20
Venga 00:30:23
Futbolista 2 00:30:24
Preséntate 00:30:27
Soy Paco 00:30:28
Y juego en el Madrid como portero 00:30:33
Llevo 18 goles porque soy un crack 00:30:35
Y mi bici se llama Broom 00:30:37
¿Sí? 00:30:38
Hagamos presentar el tercero 00:30:43
Que me espero que pase 00:30:45
Veamos 00:30:52
Boom 00:30:56
Oye, ¿qué es eso? 00:31:00
rojo 00:31:02
cuando hay rojo 00:31:10
problemas 00:31:12
ha explotado mi programa 00:31:13
¿por qué ha explotado mi programa? 00:31:16
vamos a leerlo 00:31:17
exception in thread main 00:31:19
ha habido un error en el main 00:31:21
vale, ¿qué error es? 00:31:24
el señor null pointer 00:31:26
exception 00:31:28
excepción de puntero a null 00:31:29
¿qué es eso? 00:31:32
vamos a ver 00:31:35
me dice, no puedo leer 00:31:36
el campo id 00:31:38
porque 00:31:39
this.bic 00:31:41
es null 00:31:43
¿os acordáis que cuando yo utilizaba 00:31:44
el tercer 00:31:49
futbolista 00:31:50
que está aquí 00:31:52
usaba 00:31:54
esto, no, esto de aquí 00:31:57
esto, con el nombre 00:31:59
y como solo tenía el nombre 00:32:00
bic 00:32:04
me lo dejaba a null 00:32:05
null es 00:32:07
Un puntero nul es como un puntero 00:32:09
Que en vez de apuntar a un objeto que existe 00:32:12
Apunta a nada 00:32:14
Todavía no le he creado ese objeto 00:32:16
Me espero que luego tú me lo crees 00:32:18
Y como no me lo has creado 00:32:20
Nope 00:32:23
Y entonces ha explotado 00:32:25
¿Sí? 00:32:28
Y entonces, ¿qué pasa? 00:32:32
Que cuando intenta acceder 00:32:34
Aquí 00:32:36
A this.big 00:32:37
Y este señor de aquí es null 00:32:41
Y al null le intenta acceder a punto id 00:32:44
No encuentra nada 00:32:47
Porque no está creado el objeto 00:32:49
Entonces explota 00:32:51
¿Cómo soluciono esto? 00:32:52
Como un futbolista no es nadie 00:32:59
Sin su... 00:33:01
Como un futbolista 00:33:03
No es nadie 00:33:10
Sin su bicicleta 00:33:11
Le da una bicicleta 00:33:13
¿Cómo le voy a dar una bicicleta al futbolista 3? 00:33:15
Quiero dar una bicicleta al futbolista 3 00:33:23
Creo una bicicleta 00:33:27
¿Cómo creo una bicicleta? 00:33:33
Vale 00:33:55
Esta es una nueva bicicleta 00:33:56
¿Y ahora dónde la tengo que poner esta bicicleta? 00:33:58
¿Sí? 00:34:08
Porque este señor es un futbolista, es una bicicleta 00:34:10
Y me está diciendo, crea una nueva bicicleta y ponla dentro de un futbolista 00:34:13
Vete al futbolista 3 00:34:16
Accede 00:34:26
A su variable 00:34:27
A su atributo bic 00:34:29
Que es una bicicleta 00:34:31
Y allí dentro 00:34:33
Le pones 00:34:34
New bicicleta true 00:34:36
Ahora también 00:34:38
Él tiene 00:34:41
Una bicicleta 00:34:43
Y entonces cuando lo lanzo 00:34:45
Se puede presentar 00:34:47
Realmente dice soy Arturo 00:34:48
Y juego en el 00:34:50
Nada 00:34:51
Porque por defecto el equipo es nada 00:34:52
Como banquillo 00:34:55
Porque por defecto está en banquillo 00:34:57
Levo cero goles 00:34:58
Porque por defecto es cero 00:35:00
Y mi bici se llama 00:35:02
Bici de Arturo, que es la que acabo de crear 00:35:03
Dudas 00:35:05
Vale 00:35:14
Que alguien meta gol, Stefano 00:35:20
F1, punto 00:35:23
Gol 00:35:25
Mi primer gol 00:35:26
Jugando de banquillo 00:35:31
Si me presento otra vez 00:35:33
No como el banquillo 00:35:36
Llevo un goles 00:35:45
Antes llevaba a cero 00:35:46
Llevo un goles 00:35:47
Antes bajaba a cero 00:35:55
Más dudas 00:35:57
O sea, le hacemos hacer otra baja 00:35:59
¿Qué más podría hacer, futbolista? 00:36:01
Un poco más, cambiar de posición 00:36:04
Cambiar de posición, venga 00:36:05
Como metió gol 00:36:07
Me parece correcto que me cambien a 00:36:08
Posición 00:36:11
Delantero 00:36:15
Banquillo titular 00:36:20
Centro 00:36:21
Banquillo titular 00:36:22
Cambia posición 00:36:24
Cambia 00:36:28
Posición 00:36:29
¿Sí? 00:36:31
Entonces ahora 00:36:33
Estefano juega con el Livorno 00:36:34
Como delantero centro 00:36:38
¿Vale? 00:36:40
Llevo un goles 00:36:41
Va a ver 00:36:42
Esto se podría mejorar 00:36:43
Y mi bici se amagacito 00:36:44
Eso 00:36:46
No lo quitamos 00:36:47
¿Dudas? 00:36:49
Entonces aquí vemos dos cosas interesantes 00:36:52
Vemos primero que estamos 00:36:55
Utilizando una clase desde otra clase 00:36:57
¿Vale? 00:36:59
Y que en realidad estamos utilizando una clase desde otra clase 00:37:00
Desde otra clase 00:37:03
¿Veis? 00:37:03
Porque podemos acceder 00:37:05
Uno de los parámetros 00:37:08
Que tenía este señor 00:37:11
Es una clase que he creado yo 00:37:13
Oye, mira, pero esto de utilizar otras clases 00:37:14
Tampoco es tan surreal 00:37:16
¿Esto qué es? 00:37:18
¿Qué es string? 00:37:23
Un objeto, o sea que habéis estado utilizando 00:37:24
String todo el rato 00:37:27
Que es un objeto de otra clase 00:37:28
Y no habéis dicho nunca, pero esto no se puede hacer 00:37:30
¿O no? 00:37:33
Pues se puede hacer 00:37:35
¿Dudas sobre esto? 00:37:37
Idioma/s:
es
Autor/es:
Stefano Chiesa
Subido por:
Stefano C.
Licencia:
Reconocimiento - No comercial
Visualizaciones:
54
Fecha:
21 de noviembre de 2022 - 14:02
Visibilidad:
Clave
Centro:
IES ROSA CHACEL
Duración:
37′ 44″
Relación de aspecto:
1.78:1
Resolución:
1280x720 píxeles
Tamaño:
170.88 MBytes

Del mismo autor…

Ver más del mismo autor


EducaMadrid, Plataforma Educativa de la Comunidad de Madrid

Plataforma Educativa EducaMadrid