Saltar navegación

20241203 POO-Clases_7 - 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 5 de diciembre de 2024 por Raquel G.

6 visualizaciones

Descargar la transcripción

No hay permiso para no escucharme y seguir haciendo el resto de ejercicios, lo que sea. 00:00:00
Vale, entonces, a ver, el analista ha hecho su trabajo, lo que le decía Pedro, 00:00:09
que es hablar con el cliente y llegar a la conclusión de que lo que la aplicación tiene que hacer es exactamente esto. 00:00:16
Si el analista es malillo, nos lo ha explicado mal. 00:00:26
Idealmente debería estar bien explicado 00:00:28
Pero bueno 00:00:31
Ahora ya entramos nosotros 00:00:31
Y nosotros tenemos que hacer exactamente 00:00:34
Lo que nos han pedido, nos guste o no 00:00:36
¿Vale? Os digo lo que os decía 00:00:38
No nos inventamos cosas 00:00:40
Hacemos exactamente lo que nos han pedido 00:00:41
¿Vale? Bueno, pues aquí ya hay una 00:00:44
Tarea de diseño hecha y es 00:00:46
La aplicación solamente va a trabajar con cuentas 00:00:47
Bancarias, pues una única entidad 00:00:50
Cuenta, se acabó 00:00:52
Vale, entonces luego ya haremos el main 00:00:53
Para ver qué pasa con las cuentas 00:00:56
Pero primero tenemos que resolver la parte de 00:00:57
¿Vale? ¿Y mi cuenta? 00:01:00
Porque se caracteriza para qué vale, ¿qué voy a hacer con ella? 00:01:01
Pues eso 00:01:05
Pues eso implica 00:01:05
Hacer una clase cuenta 00:01:09
Pues venga, hacemos una clase cuenta 00:01:10
¿Vale? 00:01:15
Uy, que he puesto ahí las cuentas 00:01:21
Que ya no sé ni lo que escribo 00:01:23
Vale, cuenta, ya está 00:01:24
Ni mail ni nada, obviamente 00:01:28
Esto no es una clase para que la máquina virtual ejecute 00:01:30
Esto es una clase entidad 00:01:33
Que representa 00:01:34
Un concepto de mi aplicación 00:01:36
La cuenta porque se va a caracterizar 00:01:38
Ese trabajo ya lo han hecho 00:01:40
Otros no tenemos que hacer 00:01:42
Nos han dicho que es el nombre del titular 00:01:44
Y la cantidad que tiene 00:01:47
El resto de datos no le interesan a la aplicación para nada 00:01:48
Pues no se meten 00:01:50
Pues el nombre del titular 00:01:51
Un string 00:01:53
Y la cantidad 00:01:54
Pues no se cual la había puesta 00:01:56
Pues un número decimal 00:01:58
Cantidad, saldo quizá 00:02:01
Es más explicativa 00:02:04
Voy a poner saldo porque es un nombre más explicativo 00:02:06
Para la 00:02:09
¿No? 00:02:10
¿No? 00:02:12
Se ha puesto cantidad 00:02:13
A ver 00:02:15
Dejamos cantidad y así no 00:02:16
Bueno 00:02:19
Es que en el enunciado no está muy bien elegido 00:02:21
El nombre de cantidad, pero da igual 00:02:24
Y ahora, con la cuenta se van a hacer 00:02:25
cosas. Bueno, pues ¿qué ha decidido 00:02:28
el analista después de hablar con el cliente 00:02:30
que se va a hacer con la cuenta? Solo dos cosas. 00:02:32
Meter dinero en ella o sacar 00:02:34
dinero de ella. Ya está. Pues entonces 00:02:36
eso implicará un código. Pues ese código 00:02:37
se va a recoger en 00:02:40
los métodos correspondientes metidos 00:02:41
dentro de esta clase. Porque son 00:02:44
acciones que se hacen sobre las 00:02:46
cuentas. Luego el sitio de ponerlos es 00:02:48
aquí. Vale, primera acción 00:02:50
que se va a hacer sobre las cuentas. 00:02:52
Meter dinero. Pues venga, 00:02:54
es acción ingresar. 00:02:56
Método. Ingresar. 00:02:58
Vale. 00:03:01
Un método. 00:03:02
Hay que decidir. ¿Necesita algún 00:03:04
parámetro? Silvia. 00:03:06
Silencio, que me distraigo. 00:03:08
Seguid trabajando por vuestra cuenta si queréis. 00:03:10
Pero sin hacer ruido. 00:03:12
Vale, a ver. Para ingresar dinero a una cuenta 00:03:13
¿necesitamos alguna 00:03:16
información desde fuera? 00:03:17
Sí, la cantidad que quiero ingresar. 00:03:20
El dinero. Vale. 00:03:22
Pues venga, eso será un parámetro. 00:03:24
Dabel, pues la cantidad de ingresar 00:03:25
Pues ya está 00:03:29
Es que no querría poner cantidad 00:03:29
Porque el enunciado se llamaba cantidad al otro 00:03:33
Dabel 00:03:35
Es que ingreso, ingresar 00:03:37
Dabel, dinero os gusta 00:03:41
Dabel 00:03:43
Venga 00:03:45
Dinero, ingresar 00:03:47
El dinero que vamos a ingresar 00:03:51
Un poco feo, pero ya está 00:03:53
vale, entonces 00:03:55
esto es un parámetro 00:03:56
que por supuesto esto no caracteriza 00:03:58
esto todo es un tema de análisis diseño 00:04:00
esto no caracteriza una cuenta 00:04:02
lo digo porque hay veces que 00:04:04
estáis haciendo esto y uno dice 00:04:06
el dinero a ingresar, uy lo voy a poner aquí 00:04:07
venga, dinero a ingresar 00:04:10
lo voy a implantar aquí 00:04:12
y hacéis la aplicación 00:04:13
de tal manera que 00:04:17
el dinero a ingresar es una propiedad de la cuenta 00:04:18
y podríais hacer una aplicación 00:04:20
que funcionara pero no tendría ningún sentido 00:04:22
Y en cuanto hubiera que cambiar algo y alguien usara nuestras entidades, diría, pero ¿y esto? O sea, ¿una cuenta se caracteriza por su dinero de ingresar? No, el dinero de ingresar depende de un momento concreto, cada vez se ingresa, depende de una acción. El dinero de ingresar es una acción, no caracteriza a la cuenta, ¿vale? Entonces, esto aquí no pinta nada, a la cuenta ya hemos quedado que la caracterizan, su nombre y su saldo. 00:04:24
una vez que hemos decidido que a la cuenta la caracterizan 00:04:45
perdón, el titular, he puesto un nombre 00:04:48
una vez que hemos llegado a la conclusión 00:04:50
de que a la cuenta la caracterizan el titular y el saldo 00:04:53
ya no se mete ahí nada, prohibidísimo, nada más 00:04:56
todo lo demás serán o variables locales 00:04:59
de las acciones que necesitan para hacer cosas 00:05:02
o parámetros que hay que pasarle desde fuera para que funcione 00:05:05
en el momento en el que sean llamadas, ya está, no hay que meter aquí cosas 00:05:08
eso ya prohibidísimo, ya está caracterizada la cuenta 00:05:11
Se caracteriza por titular y el saldo, por nada más. 00:05:14
Pues ya está. 00:05:17
Luego, esto ha quedado claro que esto, su sitio, 00:05:18
es un parámetro del método. 00:05:20
En el momento de hacer un ingreso, se recibe la cantidad. 00:05:21
Vale, seguimos estudiando el método. 00:05:25
Cuando yo hago un ingreso, ¿cuál va a ser el resultado? 00:05:27
El resultado va a ser que el saldo de la cuenta se vea incrementado. 00:05:29
¿Tiene que devolver algo el método, un valor al exterior? 00:05:34
No tiene por qué, porque el efecto ya se va a quedar recogido 00:05:37
en que el saldo de la cuenta se va a ver incrementado 00:05:40
por esta cantidad, luego no tiene que devolver 00:05:44
nada 00:05:46
de hecho es que ya me lo están 00:05:46
diciendo aquí, lo único que tiene que hacer 00:05:50
ingresar es, ingresar una cantidad 00:05:52
en la cuenta, vale, se suma a la 00:05:54
cantidad que ya tenga 00:05:56
pues entonces, además me dice, oye si la cantidad 00:05:57
es negativa, no hagas nada 00:06:00
bueno, pues ya tenemos toda la información para 00:06:02
hacer el método, no devuelve nada 00:06:04
porque el efecto va a ser que esto aumente 00:06:06
y si es negativo 00:06:08
sumarlo 00:06:10
pues lo único que tendremos que hacer es 00:06:13
Si el dinero a ingresar es mayor que cero, saldo más igual y ya está. 00:06:14
Y se acabó el método. 00:06:34
Entonces, repito, el sitio de este método es en la clase cuenta, porque esto es algo que se hace con las cuentas. 00:06:36
¿Quién va a llamar a este método? 00:06:42
Una cuenta concreta cuando exista la aplicación, que todavía no existe. 00:06:44
no existe y cuando exista una cuenta 00:06:47
concreta, pues en esa 00:06:49
cuenta ya podremos ingresar dinero 00:06:52
su saldo aumentará, etc 00:06:53
vale 00:06:55
¿qué más cosas se pueden hacer con cuentas? 00:06:57
pues en la lista nos ha dicho que hay que poder 00:06:59
retirar dinero también, bueno pues 00:07:01
ya está, retirar 00:07:04
¿qué va a recibir? lo mismo 00:07:05
la cantidad de dinero que 00:07:07
vamos a retirar, que no es una propiedad de la cuenta 00:07:09
ni es nada, es un parámetro 00:07:12
que necesita la acción 00:07:13
esta acción necesita un parámetro 00:07:15
pues se lo paso, pero esto no caracteriza 00:07:17
ni a la 00:07:20
cuenta ni a nada 00:07:21
a la cuenta lo caracteriza esto 00:07:23
y por tanto ahí no meto nada más 00:07:25
¿tiene que volver algo? pues no 00:07:26
porque ya hemos dicho 00:07:29
que el efecto 00:07:30
va a ser modificar el saldo 00:07:33
y además nos han dicho, oye 00:07:35
si se te queda en negativo 00:07:37
ponla en cero 00:07:39
pues entonces ya está, aquí habéis hecho el código 00:07:40
de toda la vida, aquí habréis hecho 00:07:43
simplemente saldo 00:07:45
igual 00:07:48
saldo 00:07:48
menos dinero retirar 00:07:52
mayor 00:08:01
que cero 00:08:02
pues entonces el nuevo saldo 00:08:04
que sea este 00:08:08
bueno estoy haciendo el código 00:08:08
ya ni explico esto porque ya está claro 00:08:12
perdón aquí es una interrogación 00:08:15
vale no 00:08:17
que el saldo final 00:08:20
es mayor que cero 00:08:24
pues el saldo final es ese, mayor que cero 00:08:25
que es negativo, el saldo final es cero 00:08:28
ya está, estoy haciendo 00:08:29
o con un if, como queráis 00:08:31
estas cosas ya no 00:08:33
y se acabó la clase cuenta 00:08:35
ya no tiene nada más, tiene lo que 00:08:37
la caracteriza y las acciones que se pueden 00:08:40
hacer con ellas 00:08:42
y para esas acciones hemos decidido si hay que pasar 00:08:42
cosas desde fuera, si no hay que pasarlas, etc 00:08:46
vale 00:08:47
pues ahora 00:08:50
incorporamos 00:08:58
pequeña cosita 00:09:00
hemos dicho 00:09:02
cuando uno pone los nombres 00:09:04
de variables 00:09:06
los pone los más explicativos posibles 00:09:06
entonces podría 00:09:10
ocurrir que nos interesara 00:09:12
que el nombre del parámetro 00:09:13
pues a lo mejor fuera igual 00:09:15
que este nombre 00:09:18
a ver, escuchadme 00:09:18
vamos a ponernos en el método 00:09:28
ingresar este otra vez 00:09:30
a mí este nombre de variable de no ingresar 00:09:31
me parece muy larga 00:09:34
muy fea, muy nada, no me gusta 00:09:36
por alguna razón, porque no me gusta 00:09:37
ya está, entonces puede ocurrir 00:09:40
que a veces los nombres de parámetros 00:09:42
pues cuanto más explicativos sean mejor, como los de variables 00:09:44
y como los de todo, a lo mejor a mí 00:09:46
me interesaría, imaginaos que yo a esta variable 00:09:48
la hubiera llamado cantidad, efectivamente 00:09:50
como decía el enunciado 00:09:52
pues esto, a lo mejor también me interesa 00:09:53
llamarlo cantidad, porque es 00:09:56
una cantidad a ingresar, entonces me encuentro con una 00:09:58
situación en la cual la variable esta de la clase se llama igual que esta. Vamos a poner esta situación. Imaginaos que, voy a dejar esto comentado para que yo este método he querido hacerlo en lugar de llamando a esta variable dinero ingresar, le he querido llamar saldo. 00:10:00
saldo 00:10:26
entonces esto 00:10:31
sería saldo y esto sería 00:10:34
saldo más igual 00:10:36
saldo, en fin 00:10:38
aquí ya empezamos a tener un lío 00:10:39
porque tenemos la variable de clase 00:10:41
la que implica el saldo que tiene mi cuenta 00:10:44
se llama saldo, está claro 00:10:46
y el parámetro 00:10:48
que guarda lo que yo paso 00:10:50
desde fuera también se llama saldo 00:10:52
entonces 00:10:54
¿a quién me refiero yo cuando pongo aquí saldo? 00:10:56
a quien me estoy refiriendo 00:10:58
a la variable de la clase 00:11:00
la que tiene el saldo de la cuenta 00:11:02
a la cantidad que yo le he pasado 00:11:03
a quien me refiero 00:11:05
claro 00:11:06
habría una ambigüedad 00:11:07
entonces 00:11:09
el compilador lo que dice es 00:11:09
te refieres a la que le has pasado 00:11:11
ante la duda 00:11:13
te refieres a esta 00:11:15
conclusión 00:11:16
este método ya no vale para nada 00:11:17
porque dice 00:11:18
si el parámetro que has pasado 00:11:19
es mayor que cero 00:11:21
entonces el parámetro 00:11:22
más igual el propio parámetro 00:11:23
el método desaparece 00:11:25
el parámetro obviamente desaparece 00:11:27
porque es variable local y esta variable ni se ha enterado 00:11:30
entonces 00:11:32
¿cómo deshacemos la antigüedad? 00:11:33
porque yo aquí sí me quiero referir a esta 00:11:35
si el saldo es mayor que cero 00:11:38
pero con esta no me quería 00:11:39
referir a esta, me quería referir a la de arriba 00:11:42
para sumar el parámetro 00:11:43
al saldo de la variable 00:11:45
¿cómo decidimos 00:11:47
cuándo me refiero a la variable 00:11:49
de la clase y cuándo me refiero al parámetro? 00:11:51
pues ponemos delante 00:11:54
esto 00:11:56
al de arriba 00:11:57
entonces this significa 00:12:02
el objeto en el que estás 00:12:04
este, el objeto en el que estás 00:12:06
entonces se refiere, el objeto en el que 00:12:08
estés, punto, su propiedad 00:12:10
saldo 00:12:13
vale, entonces que lo ha llamado cuenta 00:12:13
uno, this será cuenta 00:12:16
uno, que lo ha llamado cuenta 00:12:18
dos, this será cuenta dos 00:12:20
es decir, saldo es siempre 00:12:22
la variable de la clase 00:12:25
aquí como no he puesto el dis 00:12:27
se refiere al parámetro 00:12:30
entonces si yo lo he llamado igual 00:12:31
el dis hará ya 00:12:34
si que es obligatorio, si no es opcional 00:12:36
aquí en este caso 00:12:38
yo no he puesto el dis y no hay 00:12:40
ningún problema porque saldo no hay ambigüedad 00:12:42
solo hay alguien que se llame saldo 00:12:44
que es el de arriba, pues no hay ninguna ambigüedad 00:12:46
y solo hay alguien que se llama 00:12:48
en ingresar que es este 00:12:50
pero aquí a quien me refiero 00:12:51
pues cuando ponga dis me referiré 00:12:53
a la propiedad de la clase 00:12:55
y cuando ponga esto 00:12:57
al parámetro, ¿vale? 00:13:00
Entonces esto es importantísimo 00:13:02
acordarse de lo que es el dis y saber lo que es el dis 00:13:04
porque lo 00:13:06
necesitamos continuamente 00:13:08
y ya iremos viendo por qué 00:13:09
¿vale? Entonces aquí 00:13:11
pues no tendrías ambigüedad 00:13:17
a ver, el dis es opcional, si yo pongo 00:13:18
aquí el dis no molesta 00:13:21
es opcional, aquí no haría falta, en retirar 00:13:22
no haría falta 00:13:25
porque no ha ido ambigüedad 00:13:26
entonces aquí yo puedo ponerlo 00:13:28
o puedo no ponerlo, no habría problema 00:13:32
en el método de retirar, o sea siempre es opcional 00:13:33
aquí lo puedo poner, no molesta 00:13:36
pero aquí no hace falta 00:13:38
porque aquí solo hay una variable 00:13:40
que se llame saldo 00:13:42
lo pongo aquí 00:13:43
aquí no haría falta 00:13:45
porque no hay 00:13:49
esa ambigüedad 00:13:55
pero aquí 00:13:56
hace falta el dis para 00:14:03
para distinguir 00:14:05
la propiedad del parámetro 00:14:13
aquí no hay tutía 00:14:16
porque si no, va a creer que se refiere 00:14:23
siempre a saldo 00:14:25
aquí sin embargo la puedo poner 00:14:26
repito, no molesta, la puedo poner 00:14:29
pero no hace falta, porque está claro quién es saldo 00:14:31
no hay nadie más que se llame así 00:14:33
vale, pues nuestra clase ya está 00:14:35
nuestras cuentas tienen su titular, su saldo 00:14:37
y pueden recibir dinero 00:14:39
o quitárseles dinero 00:14:41
y ahora ya, esta entidad 00:14:42
la pueden usar mil aplicaciones distintas 00:14:45
del banco, todas las aplicaciones del banco 00:14:47
que usen cuentas, pueden usar esta entidad 00:14:49
todas, bueno pues vamos a hacer 00:14:51
una concreta, una concreta que es 00:14:53
la aplicación, pues 00:14:55
del usuario suyo del móvil 00:14:57
que la lanza y está todo el rato diciendo, lo que quieres 00:14:58
ingresar, retirar, pipi, pues ya está 00:15:01
vamos a hacer esa aplicación concreta, que está solamente 00:15:02
todo el rato preguntándole en un bucle 00:15:05
ingresas o retiras, ingresas o retiras 00:15:07
ingresas o retiras, cuando ha llegado a cero 00:15:09
pim, la aplicación se te cierra, para que 00:15:11
ya no te deje hacer más cosas, bueno pues 00:15:13
esa aplicación, una concreta 00:15:15
que tenemos que hacer va a usar esta entidad 00:15:17
y podría hacer mil aplicaciones diferentes 00:15:18
que usen esta, las entidades 00:15:21
se usan 00:15:23
desde muchas aplicaciones distintas 00:15:25
las entidades forman 00:15:27
lo que se llama la lógica 00:15:29
del negocio de la empresa 00:15:30
que es con qué trabaja mi empresa 00:15:32
de qué va tu negocio, mi negocio va de 00:15:34
cuentas bancarias, mi negocio va de 00:15:36
equipos electrónicos 00:15:39
pues habrá una entidad de equipo electrónico 00:15:41
mi negocio va de 00:15:42
de alumnos y profesores 00:15:44
pues se abre una entidad a unos y profesores, mi negocio 00:15:46
va de cuentas, pues se abre una entidad cuenta 00:15:49
y ahora en ese negocio hay tantas 00:15:51
aplicaciones como a uno le hagan falta, vamos a hacer 00:15:53
esa, la aplicación que se pone en el móvil 00:15:55
que le está todo el rato diciendo 00:15:57
ingresos o retiras, ingresos o retiras 00:15:58
pues esa es la que nos han pedido 00:16:00
pues hala, hacemos la aplicación 00:16:02
y esta ya es una 00:16:05
aplicación que va a ejecutar 00:16:09
una máquina virtual y que por lo tanto tiene que tener un método 00:16:13
main, bueno y esta 00:16:14
aplicación que tiene que hacer, pues ya el 00:16:17
analista nos lo ha escrito, nos ha puesto sus 00:16:18
diagramas, sus millones de historias para que la entendamos 00:16:20
y en resumen es esto 00:16:23
crea cuenta con las 00:16:24
propiedades solicitadas por teclado 00:16:26
entonces esta aplicación cuando arranca 00:16:28
le dirá al tío, oye dime tu nombre 00:16:31
y el saldo que tienes 00:16:33
tú le dices, soy Pepito y tengo saldo tal 00:16:34
y luego ya te va a estar todo el rato diciendo 00:16:36
oye ingresas o retiras, ingresas o retiras 00:16:39
pues eso es lo que tenemos que programar 00:16:40
lo que le va a pasar al señor cuando arranque 00:16:42
la aplicación 00:16:44
Pues lo que le va a pasar al señor 00:16:45
Cuando arranque la aplicación 00:16:47
Es esto 00:16:49
Cuando arranque el señor la aplicación 00:16:55
Le va a pasar lo primero de todo 00:17:04
Que 00:17:06
Le van a pedir 00:17:07
Que introduzca nombre y cantidad 00:17:10
Introduce 00:17:12
Tu nombre 00:17:17
Y tu 00:17:18
Saldo actual, quería saltar 00:17:20
Pero 00:17:25
Tendría que hacer, vale, da igual 00:17:25
Y tu saldo actual 00:17:28
Vale 00:17:30
Eso es lo primero que le ocurre al tío 00:17:32
Que le sale el mensajito 00:17:35
Ahora 00:17:36
Vamos a crear el objeto cuenta 00:17:38
La cuenta del señor 00:17:40
¿Cómo creamos un objeto? 00:17:43
Ahora mismo 00:17:45
Pues lo creamos de muchísimas maneras 00:17:46
Que también tendremos que incorporar 00:17:47
Pero ahora mismo solo conocemos una 00:17:49
Que es esta 00:17:51
Claro 00:17:52
Hay muchísimas posibilidades 00:17:54
Varía en lo que tú le metas ahí dentro 00:17:57
Estamos diciendo sin meter nada 00:18:00
Pero podrías meter muchas cosas 00:18:02
Por ejemplo 00:18:03
Claro, pero entonces tienes que ponerlo en la clave 00:18:06
Bueno, lo siguiente que tendremos que ver 00:18:08
Vale, creamos la cuenta 00:18:10
Y ahora vamos a poner 00:18:12
En el nombre 00:18:14
Titular, perdón 00:18:15
C.titular 00:18:21
Vamos a poner el scan next line 00:18:25
Para que se 00:18:27
Vale 00:18:30
Y en la cantidad 00:18:34
en el saldo. 00:18:36
¿Cuánto dinero eres propietario? 00:18:37
Claro, yo no me voy a quedar a cero 00:18:39
en la vida porque tengo mil millones. 00:18:42
Entonces... 00:18:45
¿Se puede fackear el banco así? 00:18:48
Hombre, si la aplicación que tienes es como esta, 00:18:50
pues ya está. 00:18:53
Entonces tú le dices, sí, me llamo Juanito, 00:18:54
tengo mil millones. 00:18:57
Y ahora ya, una vez que ya lo has hecho, 00:18:58
él te crea la cuenta 00:19:00
y te cree, que es lo que suele hacer 00:19:02
el banco, te cree y te dice, tienes mil millones, no pasa nada, 00:19:04
yo te meto mil millones en la cuenta. 00:19:06
Y ya te ha metido mil millones en la cuenta 00:19:07
Y ahora ya te empieza a preguntar 00:19:09
¿Qué quieres hacer? ¿Retirar? ¿Ingresar? ¿Retirar? ¿Ingresar? 00:19:10
Pues ahora ya viene el bucle 00:19:13
Ahora ya viene el bucle 00:19:14
Ahora ya vamos a hacer un montón de veces 00:19:16
¿Qué vamos a hacer un montón de veces? 00:19:19
¿Qué quiere? ¿Ingresar o retirar? 00:19:24
Ingreso 00:19:31
Espera, lo vamos a hacer 00:19:31
Lo vamos a hacer más bonito 00:19:38
Ingreso con char 00:19:39
Para que os gustan tanto 00:19:41
Retirada 00:19:43
Sí, cualquier cosa se puede hacer 00:19:46
De un montón de maneras 00:19:48
¿Vale? Entonces 00:19:49
Ingreso 00:19:52
Retirada, ¿qué quiere hacer usted? 00:19:54
Tendremos que leer la opción 00:19:56
Pues no pasa nada, vamos a leer la opción 00:19:57
Scan.nextline.char 00:20:00
Add 0 00:20:12
Vale, y ahora ya hacemos nuestro switch 00:20:13
Que rápidamente, desde que saltéis 00:20:16
Va, un scan next line 00:20:17
Vale, ya, tranquilos 00:20:19
Scan next line, porque voy a leer un número 00:20:21
Ah, no, no, perdón, perdón 00:20:24
Era cuando leo un número después de un perdón 00:20:25
Perdón, perdón, os habéis pasado de listos 00:20:27
Yo tengo mis propios discursos 00:20:29
Da igual, no os pagáis caso 00:20:32
Está lo mismo 00:20:33
Vale 00:20:34
Ingreso o retirada 00:20:36
Pues ahora ya sí que hacemos el switch case 00:20:39
en el caso de que la opción 00:20:41
pues seguramente 00:20:47
así se lo pongo difícil 00:20:52
que listo el banco se lo puede ingresar 00:20:54
claro 00:20:56
un espabilado 00:20:57
vale, en el caso de que 00:20:59
claro, en el caso 00:21:02
de que el usuario haya puesto ingresar 00:21:04
pues que hay que hacerlo, tenemos tan fácil 00:21:06
como pedir la cantidad y llamar al método 00:21:08
pues venga, le decimos 00:21:10
¿cuánto quieres ingresar? 00:21:12
cuánto ingresas 00:21:14
ahora leemos la cantidad 00:21:18
dabble 00:21:24
los next line y eso 00:21:25
ahora lo revisamos 00:21:32
y ahora 00:21:33
ahora es cuando ya 00:21:36
viene la parte interesante y es 00:21:37
mi cuenta 00:21:40
como es un objeto, además de propiedades 00:21:41
tiene comportamiento 00:21:44
¿qué significa que tiene comportamiento? que puede hacer cosas 00:21:45
¿qué puede hacer? todo lo que 00:21:48
hayamos programado aquí, por ejemplo, puede 00:21:50
ingresar dinero en sí misma 00:21:52
puede hacer eso, porque yo lo he programado aquí 00:21:54
pues entonces yo ya 00:21:56
no sé ni cómo lo hace 00:21:58
porque el que hizo cuenta fue otro programador 00:22:00
que no soy yo, no sé cómo lo hace 00:22:02
pero sé que hay un método de ingresar 00:22:04
que si yo le paso una cantidad la ingresa 00:22:06
pues ya está 00:22:08
de ahí la modularidad, cada uno hace su clase 00:22:09
yo no he hecho este método 00:22:12
no he hecho esta clase 00:22:14
pero la uso, creo mi objeto 00:22:16
cuenta y uso sus 00:22:18
métodos para hacer las cosas 00:22:20
y ya está 00:22:21
es más bonito poner 00:22:23
la variable cantidad 00:22:26
aparte o meterle 00:22:28
escala directamente dentro de los paréntesis 00:22:30
siempre, ah bueno no 00:22:31
creía que te referías si leerla aquí 00:22:34
leerla aquí sí que no, porque le fuerzas 00:22:35
a que sea por consolas y luego la aplicación cambia 00:22:38
y viene por interfaz gráfica o lo que sea, pues la han liado 00:22:40
no hablo de aquí, meterle 00:22:42
una variable aparte como cant 00:22:44
o directamente ponerle 00:22:45
no sabría decirte, imagino que depende del contexto 00:22:47
de la aplicación 00:22:49
dependerá del contexto 00:22:50
de la situación y de con quien 00:22:54
le estés programando, no sabría decirte 00:22:55
así, vale, en el caso de que sea 00:22:58
retirada 00:23:00
pues lo mismo, ¿cuánto retiras? 00:23:02
lo mismo, pero 00:23:04
¿cuánto retiras? 00:23:05
¿cuánto retiras? 00:23:16
esta variable ya la tengo declarada 00:23:17
de antes, no hace falta que la leo 00:23:19
y ahora retirar 00:23:21
vale, yo 00:23:23
utilizo los métodos que ya están hechos 00:23:25
¿Vale? 00:23:27
Entonces, a los métodos 00:23:29
Los llaman objetos 00:23:31
Y ahora, en ingresar 00:23:33
¿Vale? 00:23:37
Este dis 00:23:39
Este dis 00:23:40
Sí, para cerrar la aplicación 00:23:42
Forzada 00:23:46
Si tú quieres la aplicación en un momento concreto 00:23:47
Antes de que acabe 00:23:49
No, no, no, no lo menciono 00:23:50
Ah, bueno, sí, en una 00:23:53
Lo mencionamos en un ejercicio, sí 00:23:54
es una forma de cerrar la aplicación antes de que acabe 00:23:56
por sí misma 00:23:59
bueno, lo que pasa es que 00:23:59
el break te lleva a la siguiente sentencia 00:24:03
el system exit te cierra la aplicación 00:24:05
sí, te cierra la aplicación entera 00:24:07
vale, entonces 00:24:08
pues entonces, ahora ya cuando llegamos a ingresar 00:24:10
ahora este dis 00:24:13
este dis 00:24:16
¿a qué dis 00:24:21
se va a referir? ¿a qué objeto es? 00:24:23
pues el que lo llamó a este 00:24:25
a este 00:24:26
y este objeto que lo llamó 00:24:27
pues tiene su saldo 00:24:30
etcétera, entonces este ingresar 00:24:32
va a trabajar 00:24:34
con el saldo de la cuenta que lo 00:24:35
llamó, etcétera 00:24:38
pues esta es la base de todo y lo que tiene que quedar 00:24:39
clarísimo, y si esto queda clarísimo, ya a partir 00:24:42
de aquí es todo más fácil 00:24:44
este while me han 00:24:45
dicho, oye, pues vas a estar todo el rato preguntándoles 00:24:48
ingresas, retiras, ingresas, retiras 00:24:50
mientras el saldo 00:24:52
sea diferente de cero, bueno, pues la condición 00:24:54
facilísima. Mientras el saldo 00:24:56
sea 00:24:58
mayor que cero, 00:24:59
porque dice 00:25:02
que salgas cuando sea negativo, ¿verdad? 00:25:04
Ah, no, cuando la cuenta se quede a cero. 00:25:06
Vale. Pues 00:25:08
mientras sea mayor que cero, cc.saldo, 00:25:10
perdón. 00:25:12
Vale, y ya está. 00:25:14
Y ya cuando hemos salido del 00:25:16
este, pues ya el programa ha terminado. 00:25:18
Podríamos decirle 00:25:21
pues te has quedado a cero, 00:25:22
lo que uno quisiera. 00:25:24
Y aquí, hombre, lo que pasa es que el que nos dio el enunciado 00:25:32
ha sido un poco cutre. 00:25:35
Lo natural sería, al menos, después de haber hecho el ingreso, 00:25:37
decirle tu cuenta está a... 00:25:39
Vamos a ponerlo para ver si lo está haciendo bien. 00:25:42
Tu cuenta está a... 00:25:46
Y le ponemos el nuevo saldo. 00:25:48
Ah, bueno, le dije otro caso. 00:25:52
Eh, no. 00:25:53
Lo ha hecho Estefano, ¿no? 00:25:55
Que no, pobre Estefano. 00:25:56
Bueno, no, porque no hay ningún saldo. 00:25:58
cc.saldo 00:26:01
vale 00:26:03
y ahora 00:26:04
tu cuenta está 00:26:06
y esto mismo aquí 00:26:10
bueno, podríamos poner 00:26:12
el default, opción incorrecta, pero bueno 00:26:18
entonces aquí 00:26:20
un poquito, un momento 00:26:21
relax, vamos solamente a 00:26:24
está todo entendidísimo 00:26:26
00:26:28
vale, aquí donde nos faltaría un nextline 00:26:29
pues 00:26:32
aquí, verdad 00:26:34
después de haber leído un numerito 00:26:35
y aquí después de haber leído este numerito 00:26:38
también 00:26:50
porque después de un número 00:26:51
voy a ir arriba que va a leer un next line 00:26:56
entonces esa es la combinación que 00:26:58
tenía el problema 00:27:00
después de un número 00:27:02
no, porque no es en ese momento cuando lo quiero 00:27:03
lo quiero después de haber leído el número 00:27:10
si lo pongo antes del switch, lo pongo después del nestline 00:27:12
que yo no lo quiero 00:27:14
a ver, es que después de leer 00:27:15
el numerito este, se me queda 00:27:18
un salto de línea 00:27:20
y este nestline lo va a coger 00:27:21
entonces vamos a 00:27:23
ejecutarlo 00:27:26
la aplicación te dice 00:27:28
tu nombre 00:27:31
¿qué tienes? pues tengo 1000 00:27:32
o empezamos bien 00:27:35
me he pasado 00:27:37
streamingDesgroundException 00:27:40
Vamos a encontrar este error 00:27:41
A ver 00:27:45
Pero 00:27:48
Ah, claro, porque aquí he leído un número 00:27:55
Claro, este no lo había puesto 00:27:59
Claro, claro 00:28:00
He leído un número y lo hago el next line 00:28:01
Entonces, vale 00:28:03
Este no lo había visto 00:28:05
Vale, volvemos 00:28:07
¡Hala! ¡Qué fina y delicada! 00:28:08
Venga 00:28:13
Venga, ya está 00:28:13
Y ahora ya se está así todo el rato 00:28:16
Quiero ingresar 00:28:19
2.000 00:28:20
Tu cuenta está a 3.000 00:28:22
Quiero retirar 00:28:24
500 00:28:26
Tu cuenta está a 2.500, quiero retirar 3.000 00:28:27
Me va a decir 00:28:30
Quiero retirar 00:28:31
3.000 euros, a ver si hay suerte 00:28:33
Pues no 00:28:36
Ya está 00:28:37
¿Te lo has dado? 00:28:39
¿Perdón? 00:28:43
Mostraba después de haber hecho el ingreso 00:28:56
y la retirada, ¿vale? 00:28:58
Entonces, este ejercicio 00:29:01
es una chorrada, pero 00:29:02
dentro de él ya hay un montón de cosas. 00:29:04
Se persigue que vayáis 00:29:07
entendiendo que, lo más importante, 00:29:08
que una cosa son, ya en una aplicación 00:29:10
que hay varias clases, las entidades 00:29:12
y otra cosa es la aplicación ejecutándose 00:29:14
que tiene el main, que son dos cosas muy distintas 00:29:16
una cosa son las clases 00:29:19
y otra cosa son los objetos, las instancias 00:29:20
que son dos cosas muy diferentes 00:29:22
una cosa son los métodos 00:29:24
de la clase 00:29:27
y otra cosa es el main 00:29:27
Materias:
Programación
Niveles educativos:
▼ Mostrar / ocultar niveles
  • Formación Profesional
    • Ciclo formativo de grado superior
      • Primer Curso
Subido por:
Raquel G.
Licencia:
Todos los derechos reservados
Visualizaciones:
6
Fecha:
5 de diciembre de 2024 - 18:32
Visibilidad:
Clave
Centro:
IES ROSA CHACEL
Duración:
29′ 32″
Relación de aspecto:
1.78:1
Resolución:
1920x1080 píxeles
Tamaño:
125.62 MBytes

Del mismo autor…

Ver más del mismo autor


EducaMadrid, Plataforma Educativa de la Comunidad de Madrid

Plataforma Educativa EducaMadrid