20241203 POO-Clases_7 - 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:
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
es
00:07:55
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
De
00:17:57
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
a
00:26:09
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
sí
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