Activa JavaScript para disfrutar de los vídeos de la Mediateca.
Instanciación de clases abstractas - Contenido educativo
Ajuste de pantallaEl ajuste de pantalla se aprecia al ver el vídeo en pantalla completa. Elige la presentación que más te guste:
Comprobar que no pueden crearse objetos de una clase abstracta.
Olvide grabar en el otro ejercicio, o sea, en la explicación de la solución a los astros,
00:00:01
que se viera claramente por qué, al ser una clase abstracta, no se pueden crear objetos de esa clase.
00:00:07
O cómo no deja crearlo, pero es que no se pueden crear.
00:00:15
Vale, recordad, tenemos la clase abstracta astros y las clases que lo extienden, planetas y satélites,
00:00:18
que heredan los atributos de la clase astros.
00:00:25
Y de hecho tienen el método muestra que es abstracto y cada una de ellas, los planetas y los satélites como clases, tienen que implementar ese método.
00:00:28
Vale, volvemos al NetBeans y si os fijáis aquí, yo tengo un ArrayList de astros que lo creo como New ArrayList.
00:00:39
Así que puedo meter cualquier cosa. Puedo meter planetas, pero podría meter string o lo que me diera la gana.
00:00:49
Otra manera de crearlo es como aquí abajo, que es diciendo exactamente de qué lo voy a crear.
00:00:58
Fijaros que si yo lo hubiera convertido en astros, como una railis de astro, también funcionaría.
00:01:05
Voy a ejecutar, para que veáis que también funciona.
00:01:12
Que no me gusta, no se vea si funciona o no.
00:01:31
Fijaros, funciona perfectamente. Me ha mostrado los astros y me deja salir.
00:01:34
Quiere decir que le da lo mismo que defina el ArrayList donde voy a guardar todos los astros.
00:01:50
como
00:02:01
estoy cerrando
00:02:03
le da lo mismo que lo defina
00:02:05
como un ArrayList simplemente o
00:02:08
como un ArrayList de astro
00:02:11
fijaros que se pone primero ArrayList y la palabra astro
00:02:14
y luego al final ArrayList
00:02:17
la palabra astro como clase y los paréntesis
00:02:20
si me vengo aquí, guarden que me está dando
00:02:23
vale, algo habré hecho mal pero funciona
00:02:27
Un momento que me paro, no sé por qué se fija con este error de redundante, porque de hecho hace un segundo he estado mirando cómo lo explicaba V3School, fijaros, ¿veis?
00:02:30
Puedo crear una ArrayList así, de string, poniendo ArrayList string en nombre de la variable newArrayListString, o puedo crear una ArrayList directamente.
00:02:42
no me viene la otra forma de crearlo
00:02:52
pero como lo estábamos haciendo
00:03:00
simplemente poniendo un nuevo ArrayList
00:03:02
y no especificando el tipo
00:03:03
vale, yo ya aquí estoy diciendo que haga un ArrayList
00:03:06
de astros
00:03:08
y voy
00:03:10
estoy metiendo
00:03:12
las planetas y los satélites
00:03:13
si yo intentara crear
00:03:15
en PENPE
00:03:17
un planeta o un satélite
00:03:18
Intentar a crear una variable de tipo astro
00:03:22
Fijaros que me deja crearla
00:03:26
Lo único que me da un warning
00:03:29
Voy a ampliar
00:03:30
Me da aquí un warning porque nunca la uso
00:03:32
Nunca está usada la variable cualquiera que es de tipo astro
00:03:34
Y en cambio me da un error aquí
00:03:38
Con la variable otra vez
00:03:41
La variable otra vez es de tipo astro
00:03:42
Intento hacer un new tipo astro
00:03:45
Pero me dice que astro es abstracta
00:03:47
Fijaos en el mensaje de error
00:03:49
y que no puede ser instanciada
00:03:50
quiere decir, yo no puedo crear objetos
00:03:52
de tipo astro
00:03:54
pero
00:03:57
fijaros que cuando yo
00:03:57
llamo a mostrar lista de astros
00:04:02
a esta función
00:04:07
fijaros que yo
00:04:08
tengo un array list
00:04:16
que es de astros, aquí no lo sé
00:04:17
pero fuera así
00:04:20
y para cada uno de los elementos que hay en el ArrayList
00:04:20
hago astros.get
00:04:24
que realmente astros es el nombre de la variable
00:04:26
lo que me está obteniendo es un elemento que hay dentro del ArrayList
00:04:28
y con este cast
00:04:31
al poner entre paréntesis la palabra astro
00:04:33
le estoy convirtiendo en astro
00:04:36
entonces aunque no puedo crear un objeto tipo astro
00:04:38
sí que puedo decir que esto es un astro
00:04:41
porque todos los planetas y todos los satélites son astros
00:04:46
y lo único que estoy metiendo en esta lista
00:04:48
son planetas y satélites
00:04:50
os quería que vierais que no
00:04:52
puedo crearlo pero sí puedo convertirlo
00:04:54
aquí estoy diciéndole
00:04:57
a.getName y es un astro
00:04:58
¿de acuerdo?
00:05:01
entonces no puedo
00:05:02
crearlo pero sí puedo definirlo
00:05:04
y asignarlo
00:05:07
y no sé si en este vídeo lo he dicho
00:05:08
que me da mucha gracia que he hecho
00:05:11
una cosa mal
00:05:13
que aquí utilizo minúsculas
00:05:14
en astro, planeta y satélite
00:05:16
y en cambio
00:05:19
en el enunciado
00:05:21
uso mayúsculas
00:05:23
astros, planetetas y satélites
00:05:24
y si os llevo a V3SQ
00:05:27
si os fijáis
00:05:29
siempre se pone en singular
00:05:32
así que es vehículo, coche
00:05:34
siempre es singular
00:05:35
entonces ahí lo estoy haciendo mal
00:05:39
en el enunciado, tenía que hablar en singular
00:05:41
fijaros
00:05:43
animal
00:05:44
cerdo, animal
00:05:46
perro, no fallo
00:05:49
con estos
00:05:51
zoom os tenéis que estar colocando
00:05:53
vale, muchas gracias por la paciencia
00:05:55
y espero que haya quedado
00:05:57
claro el hecho
00:05:58
de que lo vuelvo a escribir aquí
00:06:01
o sea, vuelvo a hacer zoom
00:06:03
vale, se puede
00:06:05
definir una variable
00:06:07
de un objeto
00:06:09
o sea, se puede definir una variable
00:06:11
que en algún momento apuntará un objeto de tipo astro, aunque astro sea abstracto,
00:06:13
pero no puedo hacer un new de tipo astro porque me va a dar error,
00:06:18
porque no se pueden crear objetos o instanciar clases, crear objetos o instancias de una clase abstracta.
00:06:23
- Valoración:
- Eres el primero. Inicia sesión para valorar el vídeo.
- 1
- 2
- 3
- 4
- 5
- Idioma/s:
- Autor/es:
- Cristina Moreno Ruiz
- Subido por:
- Cristina M.
- Licencia:
- Reconocimiento - No comercial - Compartir igual
- Visualizaciones:
- 10
- Fecha:
- 15 de febrero de 2023 - 14:59
- Visibilidad:
- Público
- Centro:
- IES LOPE DE VEGA
- Duración:
- 06′ 36″
- Relación de aspecto:
- 1.78:1
- Resolución:
- 1280x720 píxeles
- Tamaño:
- 28.46 MBytes
Para publicar comentarios debes entrar con tu nombre de usuario de EducaMadrid.
Comentarios
Este vídeo todavía no tiene comentarios. Sé el primero en comentar.