Activa JavaScript para disfrutar de los vídeos de la Mediateca.
Clase 12-12-23 - 3 - 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:
Vale, venga, pues vamos a hacerlo, entonces.
00:00:00
Esta aplicación nuestra ahora tiene dos clases,
00:00:03
vale, tiene dos, no solo una, dos.
00:00:07
La principal, la que tiene el punto de arranque
00:00:10
donde la máquina virtual empieza a ejecutar
00:00:13
y las otras clases que son las plantillas
00:00:16
de los objetos que puede aparecer.
00:00:20
En general esas, más o menos,
00:00:23
uno de los diseños más básicos que hay de las aplicaciones.
00:00:26
Una principal con el método main que es el que se ejecuta
00:00:31
y luego las plantillas con los diferentes objetos
00:00:35
que van a formar parte de mi aplicación.
00:00:38
Bueno, entonces, cuando ya una aplicación tiene muchas clases,
00:00:42
las clases pueden aparecer todas una tras otra en el proyecto.
00:00:47
Entonces ya como el proyecto se convierte
00:00:51
en una linaría de clases, se organizan paquetes, vale,
00:00:53
pero eso ya es una cosa que tenemos que ver
00:00:57
porque tiene su historia.
00:00:59
Ahora mismo no vamos a usar ningún paquete,
00:01:02
vamos a meter todas las clases,
00:01:05
yo directamente al menos las vamos a meter aquí,
00:01:07
directamente aquí me voy a hacer todas las clases
00:01:16
que me hagan falta, directamente ahí.
00:01:19
En mi caso dos, solo dos clases, vale.
00:01:21
Bueno, pues primero uno programa las plantillas,
00:01:25
los que estamos llamando las clases entidad,
00:01:29
las clases entidad, programa esas clases entidad
00:01:31
y luego ya la main, pues ala,
00:01:35
vámonos a hacer la clase pedido.
00:01:37
Bueno, el eclipse, cuando lo hacemos directamente,
00:01:43
él me ofrece poner la palabra public,
00:01:47
eso ya veremos lo que significa,
00:01:50
porque esto tiene que ver con la estructura de paquetes,
00:01:52
tiene que ver con eso,
00:01:55
como todavía no hemos visto paquetes y lo que significa,
00:01:56
ese public ahora mismo nos da igual,
00:01:58
que este o no este nos da igual
00:02:01
porque no sabemos ni lo que significa.
00:02:02
Vale, lo podéis dejar, lo podéis quitar, me da lo mismo.
00:02:04
Vale, la clase pedido.
00:02:07
A ver, repito, dije que por favor,
00:02:09
normalmente las clases deberían empezar con mayúscula,
00:02:11
porque muchos habéis puesto nombres rarís y aplicativos.
00:02:14
Una clase que se llame objetos y empezando en minúscula,
00:02:18
no, de verdad, si es que es,
00:02:20
apuntadlo y luego decir, vale,
00:02:24
debo seguir esta pauta de estilo,
00:02:26
que es nombres de clases, explicativos
00:02:28
y empezando en mayúscula.
00:02:30
Venga, pues ala, propiedades,
00:02:33
hemos dicho que dos solamente,
00:02:36
código y descripción.
00:02:39
Podría tener el pedido mil propiedades,
00:02:44
pues ala, más, pa, pa, pa, pa,
00:02:46
solo tiene dos, pues hemos acabado.
00:02:48
Esta plantilla tiene dos.
00:02:50
Ahora ya vamos a hacer la siguiente clase.
00:02:52
Esta clase ya no es una clase entidad,
00:02:54
no es un concepto de mi aplicación.
00:02:56
Esta clase es la que tiene el método,
00:02:59
que es el punto de arranque,
00:03:01
donde va a empezar la máquina virtual a ejecutar.
00:03:02
Y suele recibir ese nombre,
00:03:06
o main o principal,
00:03:08
porque esta es la clase principal.
00:03:11
Y esta clase tiene que tener este método,
00:03:13
obligatorio,
00:03:15
porque esta es la clase que va a buscar
00:03:17
la máquina virtual para empezar.
00:03:19
Vale, estoy repitiendo otra vez lo mismo.
00:03:22
Vale, pues ya vamos a crear dos objetos
00:03:25
con datos leídos por teclado,
00:03:27
entonces si necesitamos que sean leídos por teclado,
00:03:29
pues tenemos que hacer un escáner,
00:03:32
sí o sí, no hay otra.
00:03:34
¡Hala!
00:03:44
Y ya con el escáner sabemos que,
00:03:46
aunque no tenemos ni idea de lo que significa,
00:03:47
que hay que ponerle import, bueno.
00:03:49
Vale, ahora vamos a trabajar con dos objetos.
00:03:51
Pues dos objetos, voy a crearme dos objetos,
00:03:54
voy a decidir un nombre para ellos.
00:03:56
Venga, mi primer objeto va a ser de tipo pedido,
00:03:59
de clase pedido,
00:04:03
y le voy a llamar pedido bolis.
00:04:04
¡Hala!
00:04:08
Con este nombre, complicado, así.
00:04:10
Ahora, con esto ya tengo dado el nombre,
00:04:13
dado el nombre a mi objeto.
00:04:16
Este objeto se va a llamar,
00:04:18
igual que esta persona se llama Miguel,
00:04:19
y esa persona se llama Adrián.
00:04:21
Pues este pedido se llama pedido bolis,
00:04:23
porque me da la gana, ¿vale?
00:04:25
Ahora, tengo que crear espacio para él,
00:04:29
no hay otra.
00:04:31
Pues ya hemos visto que el espacio para él
00:04:33
se crea así, ya está creado el espacio.
00:04:35
Y ahora ese objeto tiene sus propiedades
00:04:37
código y descripción indefinidas.
00:04:40
En realidad no las tiene indefinidas,
00:04:43
porque la máquina virtual, si ahora le damos valor,
00:04:45
le da unos valores por defecto,
00:04:47
que en los números es cero,
00:04:49
y en los strings es nul.
00:04:51
Entonces, esto en realidad tiene como código cero
00:04:53
y como descripción nul.
00:04:55
Pero bueno, vamos a darle una leída por teclado.
00:04:57
Pues ¡hala!
00:04:59
Porque como no sé lo que significa,
00:05:02
y las cosas que no sé lo que significan,
00:05:05
prefiero ni mirarlas, aquí también se lo quito,
00:05:07
ahora por hablar, pues prefiero quitarlas.
00:05:09
Cuando ya queramos entender,
00:05:11
y estemos intentando entender lo que es el public,
00:05:13
ya lo incorporaremos si es que procede.
00:05:15
¿Vale?
00:05:20
Pues venga, introduzca código.
00:05:23
Y ahora, vamos a leer un código,
00:05:32
que como es un número entero,
00:05:35
tendremos que leer con next int,
00:05:37
y ese código ¿a dónde va a ir a parar?
00:05:39
Pues va a ir a parar a la propiedad
00:05:41
código de pedido bolis.
00:05:44
Ahí es donde va a ir a parar.
00:05:48
A la propiedad código de pedido bolis.
00:05:50
Ahí va a parar.
00:05:53
Vale, y aquí, ahora vamos a hacer lo mismo,
00:05:55
con el otro.
00:05:58
Introduzca descripción.
00:06:05
Y ahora, esto va a ir a la propiedad.
00:06:12
Como veis el eclipse es muy chulo,
00:06:16
y si ponéis el nombre de un objeto,
00:06:18
el nombre y un punto,
00:06:20
él te ofrece todo lo que ha visto dentro de él.
00:06:22
Entonces, él ha visto dentro de él
00:06:26
una propiedad que se llama código,
00:06:28
te la ofrece,
00:06:30
ha visto una propiedad que se llama descripción,
00:06:31
y ha visto toda esta morralla,
00:06:33
que dices, ¿pero cómo ha podido ver esto
00:06:35
si yo no he metido nada más?
00:06:37
Ah, ya lo entenderemos.
00:06:39
En realidad sí, porque esta clase,
00:06:40
sin nosotros saberla,
00:06:42
se ha buscado un padre,
00:06:43
¿de quién era?
00:06:44
Y ese padre le ha dado todo esto en herencia.
00:06:46
Pero como de nuevo, tampoco entendemos la herencia,
00:06:48
pues nos quedamos sin saber por qué esto está aquí.
00:06:51
Y ahora entenderemos.
00:06:53
Bueno, lo que importa es que el eclipse a veces me ayuda.
00:06:55
Cuando yo pongo el punto,
00:06:59
me ayuda sobre qué propiedades tengo,
00:07:01
y así no tengo que teclearlas, las puedo...
00:07:03
Ah, la descripción, venga.
00:07:05
¿Y nextIn? No, claro, nextLine.
00:07:07
Aquí nos va a pasar lo de siempre,
00:07:10
cuando lo ejecutemos,
00:07:12
que después de un nextIn se crea un salto de línea,
00:07:14
si luego hacemos un nextLine,
00:07:17
la hemos liado porque se lo traga,
00:07:19
pues vamos a quitar el salto de línea aquí.
00:07:21
Vale, vamos a hacer lo mismo con otro pedido.
00:07:25
Pues lo mismo con otro pedido.
00:07:27
Ahora, otro pedido, le tengo que dar otro nombre, ¿no?
00:07:39
Las personas, si las quiero distinguir,
00:07:41
tengo que darles nombres distintos.
00:07:43
Pues a los objetos, si los quiero distinguir,
00:07:45
tengo que darles nombres distintos,
00:07:47
aunque sean del mismo tipo.
00:07:49
Tienen que recibir nombres distintos cada uno.
00:07:51
Los dos son de tipo pedido,
00:07:53
pero tienen que recibir cada uno su nombre,
00:07:55
si no puedo distinguir que tengo dos distintos.
00:07:57
Vale, pues ya tengo el pedido gomas, esto.
00:07:59
Vamos a...
00:08:01
Lo mismo, vamos a darle un código a él,
00:08:03
y vamos a darle una descripción a él.
00:08:05
¡Hala! Pues ya tengo dos objetos.
00:08:11
Pedido... ¿Qué hago yo?
00:08:13
Pedido...
00:08:15
Ya tengo dos objetos diferentes.
00:08:20
Este y este.
00:08:22
Y además, cada uno tiene dentro de él
00:08:24
sus propiedades concretas, sus valores.
00:08:27
Cada uno tiene sus valores, igual que cada uno
00:08:30
pues tiene su ropa distinta.
00:08:32
¿No? En la plantilla persona puede haber ropa.
00:08:34
Y luego Adrián tiene una ropa concreta,
00:08:37
Miguel tiene otra ropa concreta,
00:08:39
pues esto igual.
00:08:41
Dos pedidos de la misma clase pedido,
00:08:42
cada uno con su nombre y cada uno
00:08:44
con un valor en sus propiedades.
00:08:46
Bueno, ¿y ahora qué tenía que hacer la aplicación
00:08:49
con estos objetos?
00:08:51
Pues comparar los códigos, el que lo tuviera mayor,
00:08:53
pues mostrar la descripción.
00:08:56
Si pedidos bolis...
00:08:58
Pedido bolis, perdón.
00:09:03
Si pedido bolis.código es mayor
00:09:07
que pedido gomas.código,
00:09:14
pues entonces, ¿qué tengo que hacer?
00:09:18
Mostrar la descripción de pedido bolis,
00:09:21
que es quien la tiene más larga.
00:09:24
Vamos a ver.
00:09:26
Pedido bolis.
00:09:27
Ahí.
00:09:29
Descripción.
00:09:32
Y si no, por no perder tiempo,
00:09:33
vamos a olvidarnos del mayor o del igual.
00:09:36
Lo ponemos un solo ese y ya está.
00:09:40
¿Pero por qué pones...
00:09:49
¿por qué has puesto descripción?
00:09:52
Porque había que mostrar la descripción.
00:09:54
Hay que mostrar la descripción del pedido
00:09:57
que tenga el código más largo.
00:10:00
Ah, me lo habéis...
00:10:02
y te he dicho bien, me lo habéis hecho mal.
00:10:03
Es que puse...
00:10:06
Vale, pues ya está.
00:10:10
Ahora ya trabajamos con los objetos
00:10:13
a través de sus propiedades.
00:10:17
O sea, un objeto, por sí solo pedidos bolis
00:10:19
o pedidos gomas, por sí solo,
00:10:22
es una dirección de memoria, sin más.
00:10:24
No es nadie.
00:10:26
Lo que es alguien es ya su propiedad código
00:10:27
o su propiedad bolis.
00:10:30
Vamos a ejecutar esto, que bueno,
00:10:36
va a funcionar, claro.
00:10:40
Introduzca el código del primero.
00:10:42
Uno, introduzca descripción.
00:10:44
Bolis, introduzca el código del segundo,
00:10:46
que es dos, introduzca descripción.
00:10:48
Me va a mostrar...
00:10:50
Pues este, claro, normal.
00:10:51
¿Vale?
00:10:53
Vale, pues repito,
00:10:55
cuando tenemos un objeto,
00:10:57
con quien trabajamos es con sus propiedades,
00:10:59
las que sean.
00:11:02
No con el objeto entero,
00:11:03
porque el objeto entero
00:11:04
es una dirección de memoria en realidad.
00:11:05
Y esa dirección de memoria
00:11:07
es la que ya nos lleva a las propiedades
00:11:09
a través del punto.
00:11:11
De hecho, fijaos lo que pasa,
00:11:13
aquí hago la chulería
00:11:15
de mostrar el objeto tal cual.
00:11:17
Voy a mostrar pedido bolis.
00:11:20
Aquí.
00:11:23
A ver qué me sale.
00:11:25
Voy a poner esto aquí para distinguirlo.
00:11:29
Voy a ser tan chula
00:11:32
de mandarle a System Out
00:11:33
el objeto entero, con su nombre,
00:11:35
el objeto entero.
00:11:37
A ver qué me saca.
00:11:39
Bueno, tengo que hacerlo todo entero otra vez.
00:11:42
Bueno, uno, papá, dos, papá.
00:11:45
El objeto entero.
00:11:48
Fijaos lo que me ha sacado.
00:11:50
Ni se sabe lo que es esto.
00:11:52
Arroba, siete, dos, trece, F.
00:11:54
O sea, si yo le mando
00:11:56
que me saque el objeto entero,
00:11:57
no lo entiende.
00:11:59
Ya entenderemos más adelante
00:12:01
por qué me ha sacado esto.
00:12:03
Tiene una explicación
00:12:04
que tiene que ver con la herencia, etc.
00:12:05
Lo que yo quiero mostrar ahora
00:12:07
es que el objeto entero no es nada.
00:12:09
La máquina virtual ha hecho lo que ha podido.
00:12:12
Ha impreso ahí una basura.
00:12:15
No es nada.
00:12:17
Lo que importa del objeto
00:12:18
son ya sus propiedades,
00:12:20
su código y su descripción.
00:12:22
Y su código y su descripción
00:12:24
son las que importan
00:12:26
y llegamos a ellas a través del punto.
00:12:28
- Subido por:
- Raquel G.
- Licencia:
- Todos los derechos reservados
- Visualizaciones:
- 4
- Fecha:
- 18 de diciembre de 2023 - 13:56
- Visibilidad:
- Público
- Centro:
- IES ROSA CHACEL
- Relación de aspecto:
- 1.78:1
- Resolución:
- 1280x720 píxeles
- Tamaño:
- 238.50 MBytes