Herencia 2.1 - 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:
Voy a grabar esta clase, por lo tanto, si habláis, me dais vuestro consentimiento a que sea grabada vuestra voz.
00:00:00
Vale. Entonces, ayer estuvimos viendo los primeros conceptos de herencia.
00:00:07
Vamos hoy a seguir con conceptos un poquito más avanzados.
00:00:16
Ya lo hemos dicho ahora en el repaso, pero, sustancialmente, si habéis entendido el concepto de herencia,
00:00:21
que una clase hereda de otra, etcétera, etcétera, el concepto de árbol que hemos hablado antes,
00:00:27
habréis entendido que al final, nosotros cuando usábamos las herencias,
00:00:31
creamos una jerarquía, creamos una jerarquía de clases relacionadas entre ellas,
00:00:36
de que una subclase es una superclase, que es una supersuperclase,
00:00:42
y así, así, así, subiendo en esta jerarquía, en este árbol de clases que heredan una de otra, ¿vale?
00:00:47
Entonces, en Java todas las clases heredan siempre desde la clase Object
00:00:54
Entonces, aquí tenemos un ejemplo, por ejemplo, de una jerarquía de clases en Java
00:01:00
La clase que está por arriba, la clase raíz, es la clase Object
00:01:07
Que está ya definida en el núcleo, digamos, de Java
00:01:11
Cuando yo me instalo el JREK o si tengo el JRE con todas las clases básicas que se puedan ejecutar
00:01:14
Pues ahí dentro ya está definido object
00:01:21
Cómo está definido string
00:01:24
Cómo está definido scanner
00:01:25
Cómo están definidas otras clases
00:01:27
Que nosotros hemos usado random
00:01:29
Y cosas por el estilo
00:01:30
Todas las clases
00:01:33
Desde object
00:01:36
Tiene todas las clases que existen
00:01:38
Todas las clases cuando nosotros buscamos
00:01:40
Ahí en el API
00:01:41
Vemos algunos ejemplos de API
00:01:42
Pues todas esas heredan siempre de object
00:01:44
O heredan de otra clase
00:01:46
Que luego antes o después
00:01:48
Hereda de object
00:01:50
Por ejemplo, todos los tipos primitivos que nosotros tenemos, int, boolean, float y cosas por el estilo, tienen una clase que representa un objeto que representa ese número.
00:01:51
O sea, nosotros sabemos que el int3 no es un objeto, es un tipo primitivo.
00:02:07
Pero Java te permite representar ese valor 3 como un objeto, utilizando por ejemplo la clase integer. Existe una clase integer que como constructor pilla un integer, entonces le puedo pasar el valor 3, que es un objeto que representa el número 3.
00:02:11
Todos los tipos, esto aquí, integer, long, float, double
00:02:30
Que tienen una clase propias
00:02:35
Heredan desde una clase number
00:02:37
Que tendrá las características propias de todos los números
00:02:40
Y number hereda desde object
00:02:44
Entonces tengo boolean que deriva de object
00:02:48
Character que también es hijo de object
00:02:51
Y luego aquí tengo, por ejemplo, mi propia construcción
00:02:54
Cuando he hecho el objeto persona, esta persona derivaba de object, y cuando he hecho alumno, alumno hereda de persona que hereda de object.
00:02:57
No, de un int no.
00:03:12
Si tú pillas un integer, integer x es igual a new integer de 3.
00:03:14
Y ahora le dices, ¿x es una instancia de integer? Sí.
00:03:21
Ahora, es un poquito más complejo eso, porque Java hace cosas raras como lo hace con string.
00:03:24
Con integer e int
00:03:32
Donde tú puedes usar un int
00:03:34
Puedes poner un integer
00:03:36
Y él en automático hace lo que sea
00:03:37
Para transformarte este integer en un int
00:03:40
Es un int
00:03:42
Pero como objeto
00:03:46
Mientras int es un tipo primitivo
00:03:47
Integer es una clase
00:03:50
Que representa
00:03:52
Un tipo int
00:03:53
Pero como objeto
00:03:55
No como
00:03:57
¿Os acordáis que nosotros vimos
00:03:58
Integer.partseint
00:04:01
¿Pues qué es ese integer?
00:04:03
Pues la clase integer
00:04:07
¿Vale?
00:04:08
La ventaja que tengo es que int es un tipo primitivo
00:04:09
Es un 3, no puedo hacer nada más con eso
00:04:12
La clase integer es una clase
00:04:13
Y además de representarme un valor numérico
00:04:16
Un valor numérico entero
00:04:20
Pues le puedo poner métodos estáticos o no
00:04:21
Que puedan manipular esos objetos
00:04:26
Por ejemplo, la clase integer define un método partsInt
00:04:28
Que me permite pillar un string
00:04:31
Y transformarlo en entero
00:04:34
Yo pillo el string
00:04:36
Comillas, tres comillas
00:04:37
Y lo transformo en el valor numérico tres
00:04:39
Para luego poder operar
00:04:42
Con él matemáticamente
00:04:44
Lo hemos usado en un par de ejercicios
00:04:45
¿Os acordáis?
00:04:48
Pues como eso
00:04:51
Estará double y cosas por el estilo
00:04:52
Si vosotros os vais a
00:04:53
Vuestro mejor amigo
00:04:56
El Java API
00:04:57
Integer por ejemplo
00:04:59
veis la clase integer
00:05:01
y podéis ver que la clase integer
00:05:04
lo que es, es
00:05:06
wraps
00:05:07
envolve
00:05:11
envuelve, vale
00:05:15
un tipo primitivo int en un
00:05:16
object, sustancialmente es como
00:05:19
si fuera una clase
00:05:21
donde yo digo public class
00:05:23
mi entero o entero
00:05:24
y luego le pongo que tiene un int x
00:05:26
allí dentro, entonces sustancialmente
00:05:28
estoy creando un objeto que dentro tiene un entero
00:05:30
Ese es un integer
00:05:32
¿Vale?
00:05:34
La cosa interesante de esto
00:05:35
Es que luego
00:05:36
Tengo constructores
00:05:37
¿Veis que puedo?
00:05:39
No, no, no
00:05:40
No sé si ahora
00:05:41
Se me ha blocado el
00:05:46
El vídeo
00:05:47
Bueno
00:05:48
- Materias:
- Programación
- Niveles educativos:
- ▼ Mostrar / ocultar niveles
- Formación Profesional
- Ciclo formativo de grado superior
- Primer Curso
- Subido por:
- Stefano C.
- Licencia:
- Reconocimiento - No comercial
- Visualizaciones:
- 8
- Fecha:
- 14 de enero de 2025 - 12:44
- Visibilidad:
- Clave
- Centro:
- IES ROSA CHACEL
- Duración:
- 05′ 52″
- Relación de aspecto:
- 16:10 El estándar usado por los portátiles de 15,4" y algunos otros, es ancho como el 16:9.
- Resolución:
- 1152x720 píxeles
- Tamaño:
- 16.69 MBytes