Saltar navegación

Activa JavaScript para disfrutar de los vídeos de la Mediateca.

Instanciación de clases abstractas - 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 15 de febrero de 2023 por Cristina M.

10 visualizaciones

Comprobar que no pueden crearse objetos de una clase abstracta.

Descargar la transcripción

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:
  • 1
  • 2
  • 3
  • 4
  • 5
Eres el primero. Inicia sesión para valorar el vídeo.
Idioma/s:
es
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

Del mismo autor…

Ver más del mismo autor

Comentarios

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.



EducaMadrid, Plataforma Educativa de la Comunidad de Madrid

Plataforma Educativa EducaMadrid