20241205 POO-Clases_8 - 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:
Más o menos ya nos hacemos todos una idea de lo que habrá que hacer aquí.
00:00:00
La aplicación esta trabaja con figuras geométricas.
00:00:04
Luego, las entidades, es decir, esos conceptos con los que trabaja, serán figuras geométricas.
00:00:08
¿Cuáles? Ya nos lo dice. No tenemos que hacer el análisis nosotros.
00:00:16
Ya nos lo dice. Un círculo, un cuadrado, una esfera y un cubo.
00:00:19
Vale, pues una vez que hemos decidido que nuestra aplicación tiene cuatro entidades, ahora hacemos una clase para cada una de ellas y decidimos las propiedades de cada entidad y qué cosas conviene hacer con esas entidades.
00:00:23
Aquí ya nos lo dan hecho. El círculo solo necesita para caracterizarse el radio y la esfera también y tanto el cuadrado como el cubo solo necesitan para caracterizarse el lado.
00:00:45
Luego atributos o propiedades uno solo. Y métodos, ¿qué vamos a querer hacer con los círculos? Devolver un perímetro y un área.
00:00:57
¿Qué vamos a querer hacer con los cuadrados? Lo mismo, perímetro y área. Con las esferas, devolver superficie y volumen y con los cubos, devolver superficie y volumen.
00:01:03
luego ya hacemos las cuatro entidades
00:01:12
y ahora ya uno
00:01:15
hace uno o tantos main
00:01:17
como quiera para trabajar con
00:01:19
esas entidades, en nuestro
00:01:21
caso uno concreto
00:01:23
que va a ser mostrar un menú para trabajar
00:01:24
con esas figuras, pues venga
00:01:27
entonces lo primero es hacer las entidades
00:01:29
lo primero y luego ya será la aplicación
00:01:31
pues vamos a ver que entidades ha hecho aquí
00:01:33
Juan
00:01:35
vale, círculo, ¿por qué es tan minúscula?
00:01:36
no sé
00:01:40
Cuadrado, cubo y esfera
00:01:41
Muy bien, en mayúscula
00:01:46
La clase círculo
00:01:48
Esto lo vemos
00:01:49
Y nos da angustia ya
00:01:51
Los nombres de las clases salvo razones especiales
00:01:53
Por algo en mayúscula, ¿vale?
00:01:56
Entonces no pasa nada, la refactorizamos
00:01:58
Botón derecho de círculo
00:02:00
Refactor
00:02:02
Rename
00:02:03
Y ya está
00:02:05
A ver que, yo te voy a decir lo malo
00:02:06
Se asume que todo lo demás es bueno, ¿vale?
00:02:11
Solo se dice lo malo, ¿no?
00:02:15
Bueno, pues a ver, ¿por qué se van a caracterizar los círculos cuando existan por un radio?
00:02:19
Cada uno el suyo, ¿vale?
00:02:23
No hacen falta más propiedades, porque un círculo solo se caracteriza por su radio, se acabó.
00:02:26
Si esta aplicación trabajara dibujando círculos cada uno con colores o con...
00:02:30
Pues habría otra propiedad, que es color, pero en este caso lo único que hace esta aplicación es mostrar perímetros y áreas.
00:02:35
y para eso solo hace falta el radio, pues ya está
00:02:41
no se ponen más propiedades
00:02:43
repito porque a veces según vais haciendo
00:02:45
la clase main decís, ay que bien
00:02:47
me viene una variable aquí
00:02:50
contadora, pues si te hace
00:02:51
falta un contador ponlo donde lo uses
00:02:54
no te vayas a una entidad a poner un contador
00:02:56
en la entidad solo se
00:02:58
ponen las propiedades que caracterizan
00:03:00
a ese objeto, todo lo demás
00:03:02
serán otras variables que harán
00:03:04
falta pero tendrán su sitio y su lugar
00:03:05
¿vale? entonces todas esas
00:03:07
cosas son importantes
00:03:10
porque un programa puede funcionar
00:03:12
bien, pero estar hecho horrorosamente
00:03:14
mal, hecho
00:03:16
vale, bueno, pues entonces
00:03:16
estas cosas
00:03:23
bueno, a ver, ¿no os gusta más
00:03:24
esto?
00:03:32
esto mucho más bonito
00:03:34
pero bueno, luego lo ponemos
00:03:35
¿Cuántos decimales te traes?
00:03:37
Ahora lo miramos, a ver. Vale, entonces
00:03:38
repito
00:03:41
estas cosas que os digo
00:03:42
que
00:03:45
que os van resbalando porque
00:03:46
decís, uy, seguro que esto para el examen no importa
00:03:49
estas cosas importan para vuestra
00:03:51
vida, ¿vale? Esto que
00:03:53
os acabo de decir, que las variables que se
00:03:55
declaren en su sitio donde tienen que ir
00:03:57
aunque la aplicación luego me dice, pero si esto
00:03:59
me funciona, me funciona, pero es una caca
00:04:01
me funciona, he puesto aquí un contador
00:04:03
que luego estoy usando para
00:04:05
contar en mi main cuántas veces pasa
00:04:07
no sé qué. Pues si en tu main vas a contar cuántas
00:04:09
veces pasa no sé qué, pon el contador en tu main
00:04:11
como variable local. No pongas aquí un
00:04:13
contador, que tengas que crear un círculo
00:04:15
para inicializarlo, etc.
00:04:17
¿Vale? Entonces, todas
00:04:20
estas cosas importan mucho.
00:04:21
Bueno, ha quedado clarísimo
00:04:24
que aquí solo va aquello que
00:04:25
caracteriza al objeto. Todo lo demás
00:04:27
tendrá su propio lugar. Vale,
00:04:29
como ya las propiedades se han acabado, vienen
00:04:31
los métodos.
00:04:33
Otra vez que me entra ansiedad.
00:04:35
¿Por qué lo empiezas con mayúscula?
00:04:36
Bueno, hay los métodos con minúscula
00:04:39
¿Vale?
00:04:42
De volver
00:04:46
Perímetro
00:04:47
Así mucho más bonito el nombre
00:04:49
¿Vale? De volver perímetro
00:04:51
Luego ya lo cambiamos donde toque cambiarlo
00:04:52
Vale, de volver perímetro
00:04:54
Bueno, pues ahora ya
00:04:58
¿Qué necesitamos para
00:05:00
Calcular un perímetro?
00:05:01
Pues nada, hacer la operación
00:05:03
Pi por radio por radio
00:05:06
O sea, PR cuadrado
00:05:08
No, perdona
00:05:09
Es que esto es el área
00:05:12
El perímetro es 2PR
00:05:14
Sí
00:05:17
Que siempre que sí PR cuadrado
00:05:18
Es el área
00:05:23
Y 2PR
00:05:24
No, pero da igual
00:05:25
Porque la multiplicación es asociativa
00:05:28
Pero la multiplicación es asociativa
00:05:31
Te da igual el orden que lo hagas
00:05:33
Los paréntesis dan igual
00:05:34
Vale, entonces
00:05:36
Por lo demás, salvo porque la fórmula está mal, que es un detalle sin importancia,
00:05:38
lo que nos importa que es el método, pues está bien y además fenomenal.
00:05:43
Esta variable la necesito solo en este método, pues la declaro como local.
00:05:46
Porque hay muchos mecanismos que... ¡Ay, necesito la pi!
00:05:50
¡Ah, pues me pongo aquí la pi! ¿Pero qué es eso de ponerme ahí la pi?
00:05:53
Pues no. ¿Pi es una característica del radio? No.
00:05:56
Pues declaratela como local, donde la necesites.
00:06:01
Pues muy bien. Hecho. Ahí declarada. Vale.
00:06:03
ahora ya que empezamos a ser profesionales
00:06:06
pues hombre, sí, podríamos haber puesto
00:06:08
nueve, creo que la siguiente es siete
00:06:10
es la siguiente siete, vale
00:06:12
no memes, eh
00:06:14
seis, podríamos
00:06:17
poner esto y ya está
00:06:20
pero
00:06:21
recordad, ya
00:06:23
podemos ir conociendo ciertas cosas, por ejemplo
00:06:25
es dos
00:06:28
es dos, noventa y dos
00:06:29
vale
00:06:32
entonces
00:06:33
Java ya te da
00:06:35
constantes ya hechas
00:06:37
por si quieres usarlas
00:06:40
entonces
00:06:42
esto
00:06:43
luego ya entenderemos
00:06:44
por qué a esta constante la llamo así
00:06:47
porque el punto ya nos suena
00:06:50
el punto ya nos suena, pero aún así esto
00:06:51
seguimos sin entenderlo, porque math no es un objeto
00:06:53
math no es un objeto
00:06:56
entonces esto todavía no entendemos por qué se llama así
00:06:57
ya lo entenderemos, nos falta todavía
00:06:59
tener más información, pero bueno
00:07:01
ya que lo estamos haciendo bien
00:07:03
pongamos esto, que es
00:07:05
el número pi para Java
00:07:06
con todos los decimales que dé, que no sé cuántos son
00:07:08
vamos a hacer un siso por curiosidad
00:07:11
para que nos lo
00:07:13
muestre
00:07:14
y ahora
00:07:16
la clase
00:07:18
la clase
00:07:21
math es una clase
00:07:22
y pi es una librería de esa clase
00:07:24
a la que podemos llamar con el nombre de la clase
00:07:27
porque es estática, pero eso ya lo avanzaremos
00:07:29
vale, pues ya está esto
00:07:31
pues bueno, una pena
00:07:33
2 por pi
00:07:34
por radio
00:07:36
y ya está, y ahora
00:07:39
¿qué hay que hacer con ese perímetro?
00:07:40
nos han dicho que lo
00:07:43
devolvamos como valor
00:07:44
de retorno, no que lo mostremos
00:07:46
claro
00:07:48
entonces
00:07:51
esto te muestra el perímetro
00:07:51
pero vamos a hacer que el método
00:07:54
me lo devuelva
00:07:56
al programa main que lo llame
00:07:57
como las funciones nos devolvían un valor
00:08:00
que luego recogíamos en el main
00:08:02
¿Te acuerdas?
00:08:03
Bueno, pues aquí en lugar de mostrarlo por consola
00:08:05
El enunciado lo que dice es
00:08:07
Devolver, no mostrar por consola
00:08:09
Devolverlo con orden retorno
00:08:11
Entonces, en lugar de meterlo
00:08:13
En un system out
00:08:15
Vamos a devolverlo
00:08:16
Con un retun
00:08:19
Sí, pero en otro método, claro
00:08:21
Me falta otro método
00:08:25
Cada método puede devolver una cosa solo
00:08:26
Eso es como las funciones, claro
00:08:28
Vale
00:08:29
pues ya está, este método
00:08:33
me devuelve un valor de retorno
00:08:36
es decir, su efecto
00:08:39
los métodos que hemos hecho de otras clases anteriores
00:08:42
su efecto era modificar la variable haciendo algo con la variable
00:08:45
pues subir el saldo de la cuenta
00:08:49
subir el sueldo del profesor, lo que fuera
00:08:51
este método al radio no le toca, no hace nada con el radio
00:08:53
al radio no le toca, lo utiliza para generar un valor
00:08:57
y ese valor lo devuelve
00:09:01
para que alguien en una clase principal
00:09:02
con ese valor haga algo
00:09:04
entonces siempre es mejor
00:09:05
que el método en lugar de mostrarlo
00:09:08
por consola lo devuelva
00:09:10
porque si tú lo muestras por consola
00:09:11
lo único que puedes hacer es estar ahí sentado
00:09:14
adelante mirándolo
00:09:16
porque te lo va a mostrar y ya está
00:09:17
pero si lo devuelves, luego ya
00:09:20
cada aplicación decide qué hace con él
00:09:22
si ponerlo en una interfaz gráfica
00:09:24
si llevarlo a un fichero, lo que sea
00:09:26
entonces es mejor práctica de programación
00:09:27
que el método lo devuelva
00:09:30
y cada programa principal que lo use
00:09:31
decida qué hace con ese valor.
00:09:34
Si lo muestra, si lo guarda en un fichero, lo que sea.
00:09:35
Vale, pues este método ya está.
00:09:40
Muy bien.
00:09:42
Y devolver área, pues lo mismo.
00:09:44
Vamos a cambiar el nombre.
00:09:46
Y en lugar de el área,
00:09:50
ahora ya sí que es pi r cuadrado.
00:09:53
Pi por radio, por radio.
00:09:57
Pero a ver, lo importante del programa está bien.
00:10:00
O sea, lo que estamos cambiando son detalles.
00:10:02
Y ahora vamos a cambiar el system out
00:10:04
Por un return area
00:10:12
Y este por un double
00:10:13
Ah es verdad
00:10:18
Que ibas a preguntar algo
00:10:22
¿Por qué pones el public si no vas a trabajar con diferentes paquetes?
00:10:23
Él ha puesto el public porque ha querido
00:10:27
Yo no lo he quitado
00:10:28
Yo lo voy a quitar porque como
00:10:29
Lo voy a incorporar en el proyecto que luego subo con los ejercicios hechos
00:10:32
Pues lo quito
00:10:35
Porque como yo no he explicado lo que es el public
00:10:36
Yo no lo uso
00:10:38
No podemos saber lo que es el public todavía
00:10:39
Si no entendemos lo que es un paquete
00:10:44
Que todavía no lo entendemos, pero en breve
00:10:45
Tranquilos
00:10:47
Bueno, pues entonces
00:10:49
Lo mismo con círculo
00:10:52
Que con cuadrado, que con cubo, que con esfera
00:10:54
Exactamente igual
00:10:55
Con cuadrado vamos a hacer los cambios
00:10:57
Rápido
00:11:02
Que es de los
00:11:03
Descambiar los nombrecitos
00:11:05
Que no nos gustan
00:11:08
Y aquí poner el retun
00:11:09
En vez de retun perimetro
00:11:11
Y aquí poner un double
00:11:21
Y aquí lo mismo
00:11:22
Quitamos el public
00:11:27
Llamamos al método más bonito
00:11:29
Y lo devolvemos
00:11:31
Que no lo returneamos
00:11:36
Porque es que
00:11:42
Y que returneo
00:11:44
Pues no sé, tú verás
00:11:46
A ver
00:11:49
Cuadrado
00:11:50
Vale, bien, en realidad aparte de los nombres
00:11:53
Que es un detalle, hemos cambiado que en lugar de mostrarlo
00:11:55
Lo devuelva, cuadrado de retorno
00:11:57
Vale
00:11:58
Y con cubo lo mismo
00:12:01
Ya está, devolver
00:12:03
Volumen
00:12:09
Que devuelva el volumen
00:12:13
De el cubo, que será
00:12:16
Lado por lado por lado
00:12:18
Te voy a quitar este POU
00:12:19
Porque yo no he hablado todavía
00:12:21
De métodos estáticos
00:12:24
De clases
00:12:27
Y lo que estás usando es un método estático de una clase
00:12:27
Claro, pero no entendemos
00:12:29
En realidad lo que es, lo podemos usar
00:12:34
Pero sin entender lo que es
00:12:36
Yo prefiero no usarlo, ya lo entenderemos
00:12:38
Sí, sí, sí, con lo que te habéis dicho estaba bien
00:12:40
Vale, devolvemos
00:12:44
El volumen del cubo
00:12:51
Que es el lado al cuadrado
00:12:53
Y ya casi acabamos
00:12:54
Y la superficie
00:12:58
Es 6 por el lado al cuadrado
00:13:05
Ah, sí, claro, porque sí, qué tontería
00:13:07
Vale
00:13:10
Lado por lado, crea que
00:13:14
La super
00:13:16
Y lo devolvemos
00:13:19
Vale, has usado, perdona
00:13:20
Muchas variables auxiliares
00:13:27
Podrías haber puesto directamente return 6 por lado por lado
00:13:28
Y ya está
00:13:31
Vale, que no hace falta que uséis tantas variables auxiliares
00:13:32
A menos que sea para aclararos
00:13:37
Ponéis return 6 por lado por lado por lado y ya está
00:13:38
Y acabamos con la esfera
00:13:41
Acabamos con la esfera
00:13:43
Y ya main
00:13:47
y estupendo
00:13:49
la esfera
00:13:51
su superficie 4 pi r cuadrado
00:13:54
eso si está bien
00:13:57
porque la superficie siempre es
00:13:58
proporciona, siempre es una magnitud
00:14:00
cuadrática
00:14:03
y el volumen siempre es cúbica
00:14:04
así que seguro que está bien
00:14:06
lo de la
00:14:22
superficie de una esfera
00:14:23
es un concepto bonito porque te lleva
00:14:25
a que hay otras métricas diferentes
00:14:26
porque nosotros estamos acostumbrados a pensar
00:14:28
que una esfera está en tres dimensiones
00:14:30
pero su superficie está en dos
00:14:33
en realidad, lo que pasa es que
00:14:35
está en dos según
00:14:36
no la métrica que nosotros conocemos
00:14:38
que es la de X, Y, Z
00:14:41
de toda la vida, de esas coordenadas
00:14:42
sino según otra métrica
00:14:44
y entonces es una cosa muy bonita
00:14:45
no es lo que siempre dicen
00:14:47
que una hormiga queda por una superficie
00:14:50
no puede saber que está en tres dimensiones
00:14:52
porque no lo está, está en tres dimensiones
00:14:54
según nuestra métrica habitual
00:14:56
pero no está en realidad en tres dimensiones
00:14:58
según otra métrica
00:15:00
si estuviéramos en dos dimensiones
00:15:01
nunca seríamos conscientes
00:15:05
efectivamente
00:15:06
4 pi r cuadrado
00:15:08
y devolver el volumen pues lo mismo
00:15:21
y retón
00:15:24
con el mathpou
00:15:35
esto como si no existiera, olvídate
00:15:41
radio por radio por radio
00:15:43
que esto sería
00:15:50
4 tercios
00:15:52
multiplicado por pi por r al cubo
00:15:54
Cuatro tercios de pi r cubo es el volumen.
00:15:56
Vale, pues entonces las cuatro clases entidad están.
00:15:59
Ahora ya puede haber mil aplicaciones que las usen porque mil aplicaciones necesitan superficies y volúmenes de figuras.
00:16:03
Bueno, pues por ejemplo vamos a hacer una.
00:16:10
¿Y esto de figuras qué es?
00:16:13
Ah, vale, esto de figuras lo quitamos.
00:16:14
y ahora
00:16:18
vamos a hacer
00:16:20
un ejemplo de aplicación que las usa
00:16:22
de los mil ejemplos que podría haber
00:16:24
estas clases ahora ya cuando sepamos empaquetar
00:16:26
en unjar y distribuir
00:16:28
pues uno ya las podría meter en unjar
00:16:30
y distribuirlas para que se usen en cualquier otra
00:16:32
aplicación que necesite
00:16:34
calcular estos datos
00:16:36
de figuras, bueno pues en particular
00:16:38
le vamos a usar desde este main y ahora
00:16:40
has hecho los menús
00:16:42
como se hacen siempre
00:16:44
pues un do while es la opción
00:16:46
y en función de la opción
00:16:48
que la opción es trabajar con
00:16:49
un círculo
00:16:52
pues introduce el radio, ojo, sois más
00:16:53
poco sistemáticos
00:16:55
con las mayúsculas y las minúsculas
00:16:57
fíjate, de verdad, pero no
00:16:59
nos produce ansiedad
00:17:01
por no hablar ya de las tildes de área
00:17:03
pero bueno
00:17:05
y por las tildes
00:17:07
de círculo ya ni te cuento
00:17:10
bueno, ahora voy a cambiar todas porque me
00:17:11
vale
00:17:13
Vale, pues introduces el radio
00:17:15
Lees el radio
00:17:17
Y ahora lo único es que
00:17:18
Tengo que ya cambiar el nombre
00:17:21
Devolver área
00:17:23
Y devolver perímetro
00:17:26
Vale
00:17:27
Tal y como
00:17:29
El punto de coma
00:17:30
Tal y como tú tenías el método, ya está
00:17:32
Porque dentro del método te hacía el system out
00:17:34
Pero ahora tal y como lo hemos hecho nosotros
00:17:36
El método no te hace el system out
00:17:39
El método te lo devuelve con orden retorno
00:17:41
Entonces nosotros con eso
00:17:42
tenemos que guardar en algún lado para hacer algo con ello
00:17:44
lo que sea
00:17:46
porque si no lo guardamos lo tiramos a la basura
00:17:47
esto es lo mismo que hacíamos con las funciones
00:17:50
entonces
00:18:00
ahora ya el método me lo devuelve con orden retorno
00:18:00
lo guardamos en algún sitio
00:18:03
porque si no se pierde la basura
00:18:06
y con ello ya hacemos lo que queramos
00:18:07
pasárselo a un fichero
00:18:09
pasarlo a una interfaz gráfica
00:18:11
lo que nos dé la gana
00:18:13
en nuestro caso pues vamos a mostrar
00:18:14
un único mensajito
00:18:17
Hay que ver
00:18:18
Perímetro, vale
00:18:40
Pues fijaos, aquí vemos ya la primera ventaja
00:18:46
Bueno, la ventaja
00:18:49
La única ventaja
00:18:51
De que el método nos lo devuelva
00:18:52
En lugar de mostrarlo
00:18:54
Que yo decido
00:18:55
¿Cómo me comunico con el usuario?
00:18:56
He decidido un único mensaje
00:18:59
Área, perímetro, pues puedo hacer un único mensaje
00:19:00
con la versión que tenías tú
00:19:03
la única forma de comunicarse
00:19:05
con un usuario es con el primer
00:19:08
sistema o del área es, el perímetro es
00:19:09
y si mi usuario me dice
00:19:11
oye, no, cámbiame la vista de la aplicación
00:19:13
quiero que el mensajito que me muestre sea
00:19:16
otro, pues te tienes que ir a
00:19:17
cambiar área, perímetro, cubo, todas ellas
00:19:19
cuando una modificación
00:19:21
en una aplicación implica
00:19:23
tocar muchas clases, esa aplicación
00:19:25
está mal diseñada, seguro
00:19:27
entonces, una aplicación estará bien diseñada
00:19:29
Si las modificaciones que hay que hacer
00:19:31
Implican tocar muy pocos puntos
00:19:33
Muy pocos puntos
00:19:36
Bueno, pues en este caso, modificar la vista
00:19:37
La interfaz con el usuario
00:19:39
Implica tocar este system out y ya está
00:19:41
Pongo aquí lo que me dé la gana
00:19:43
No tengo que meterme en círculo
00:19:44
Ni en nada, porque el círculo me lo devuelve
00:19:46
Y yo hago con ella lo que quiera
00:19:49
Vale, pues eso, estas cosas que
00:19:50
Os resbalan en general
00:19:53
Porque parece que no tienen importancia
00:19:56
Para el examen, pues vuelvo a repetir
00:19:57
Tienen importancia para vuestro futuro sueldo
00:19:58
Exactamente
00:20:00
Vale, y ya está, entonces todo esto
00:20:04
Lo podríamos
00:20:06
Claro, tengo que cambiar lo mismo
00:20:07
En todo, pero vamos
00:20:14
Ya está
00:20:16
Vale, y voy a poner
00:20:17
El mismo
00:20:30
System out
00:20:31
En todos, y así acabo rápido
00:20:34
Area, como la variable ya está
00:20:36
Declarada, no la tengo que volver a declarar
00:20:38
para aquí, solo la reutilizo
00:20:40
y este System.out en todos
00:20:42
y aquí lo mismo
00:20:46
solo nos quedan dos sitios
00:20:57
sí
00:20:59
sí, pero para no liar a quien
00:21:10
luego mire
00:21:23
este ejercicio o algo así
00:21:26
vale
00:21:27
área, volumen
00:21:29
y volumen
00:21:33
y ahora ya lo voy a dejar
00:21:37
copiado
00:21:40
para el otro
00:21:42
y ahora para el
00:21:43
cubo pues lo mismo
00:21:48
para el cubo
00:21:50
devolvemos la superficie
00:21:51
devolvemos
00:21:54
el volumen
00:22:00
esto
00:22:02
se va a guardar en la variable área
00:22:04
esto se va a guardar
00:22:06
en la variable volumen
00:22:08
Y ahora esto ya
00:22:09
Se muestra
00:22:12
Y ya está
00:22:14
Adiós
00:22:16
Y se acabó
00:22:17
Adiós, muy buenas
00:22:19
¿Vale? Pues ya están
00:22:27
Tu programa estaba bien
00:22:29
Hemos cambiado detalles para que se adapte más a lo que pedíamos
00:22:31
Lo mismo que esta clase menos
00:22:34
Se llama menú con minúscula
00:22:37
Es que son ganas de
00:22:39
Son ganas de joder, reconócelo
00:22:41
Que lo haces por eso
00:22:43
Te has suspendido, profe
00:22:45
Claro
00:22:47
Pues lo consigues, eh
00:22:47
Aquí está, que no lo veía
00:22:50
Ala
00:22:52
Pues una aplicación estupenda, salvo por las titles
00:22:58
Este es el pi
00:23:06
El system.not que había puesto en el pi es este
00:23:12
O sea, bueno, tampoco que meta tantas
00:23:13
Ah, vale, ya sé por qué yo siempre
00:23:15
Claro, es que yo redondeaba
00:23:18
Cuando yo usaba pi en mis tiempos
00:23:19
redondeaba y usaba 6 cifras
00:23:21
y esta la redondeaba 7
00:23:23
por eso me ha salido 7, claro
00:23:24
pues estas tienen el número pi
00:23:26
pero vamos, hay sacadas muchísimas
00:23:28
no sé cuántas cifras hay
00:23:31
que sí, sí, sí
00:23:33
ahora mismo hay un montón, pero siguen todavía
00:23:34
sacando cifras, claro
00:23:37
vale
00:23:38
bueno, pues muy bien, entonces
00:23:40
a que en esas 3 horas y media de ejercicio
00:23:44
sientes que has aprendido
00:23:47
más que en 4 o 5 clases
00:23:48
Pues fenomenal
00:23:51
Vale
00:23:53
Pero qué obsesión con el examen
00:23:55
Por favor
00:24:01
Bueno, vais cogiendo
00:24:02
Si alguien todavía no le había cogido
00:24:06
La dinámica de
00:24:09
Cómo se declara una clase y lo que significa
00:24:10
Y ahora ya que es una aplicación principal
00:24:13
Cómo se crean objetos y cómo se usan
00:24:16
Bueno, pues entonces
00:24:18
Con este habéis tenido algún problema
00:24:21
No hace falta que lo corrijamos
00:24:24
¿Verdad? ¿Alguien quiere hacer algún comentario
00:24:25
Sobre este?
00:24:28
¿Quiere subirlo para que lo veamos?
00:24:29
A ver, ah bueno, voy a copiar el tuyo
00:24:31
Este que acabamos de hacer en el proyecto
00:24:33
Para subir
00:24:35
Copiamos
00:24:36
Ejercicios
00:24:38
Clases, objetos
00:24:42
Teníamos el 11
00:24:43
Pues el 12
00:24:45
Vale
00:24:46
Ya está, lo tenemos todo clarísimo, que bien
00:24:48
No hay nada que hacer de este, ¿no?
00:24:52
De la cafetera esta
00:24:55
Bueno
00:24:56
Y bien
00:25:01
Vale, bueno
00:25:02
Lo dejamos ahí
00:25:06
Para que no lo haya hecho
00:25:10
Lo siga haciendo
00:25:12
Es la misma idea
00:25:13
Una única entidad
00:25:15
Cafetera
00:25:16
Dos propiedades
00:25:17
lo máximo que va a caber
00:25:20
su capacidad máxima y lo que tiene
00:25:23
en cada momento, luego se supone
00:25:25
que esta aplicación
00:25:27
todo está hecho en versión mínima
00:25:28
claro, reducida, sería el
00:25:31
software que va dentro de una cafetera
00:25:33
entonces, ¿qué se hace
00:25:35
con una cafetera? le das al botoncito
00:25:37
para llenarla
00:25:39
o no, no sé, no uso cafeteras
00:25:41
pero bueno, esta en concreto, este software
00:25:43
cuando tú le des al botón
00:25:45
llenar cafetera, ese botón
00:25:47
Va a llamar a este método
00:25:49
¿Vale? Entonces, aparte
00:25:51
Claro, ese botón tendrá una parte hardware
00:25:54
Y otra parte software
00:25:56
La parte hardware será
00:25:57
La que abra el sensor
00:25:59
Para
00:26:02
Que se abra la conexión
00:26:03
Con el grifo, que ya está
00:26:05
Y se llenará, pero aparte tiene que haber una parte software
00:26:07
Que registre en qué situación está la cafetera
00:26:10
Claro, pero todo eso es la parte hardware
00:26:12
Entonces nosotros la parte software es
00:26:18
la que va a registrar el estado
00:26:19
de la cafetera, luego todo eso tendrá
00:26:22
una parte que es la que realmente
00:26:24
abre y cierra los botoncitos
00:26:26
para que eso se llene y se vacíe
00:26:28
pero nosotros hacemos la parte
00:26:29
que registra el estado en el que está
00:26:32
entonces cuando se da el botón llenar cafetera
00:26:33
aparte de que se abre el grifo y se llene
00:26:36
hay que hacer una parte
00:26:38
que actualice el estado de la cafetera
00:26:39
porque el estado de la cafetera
00:26:42
se va a regir por lo que tenga en cada
00:26:43
momento
00:26:46
claro, ya, claro
00:26:46
mucho más, pero para que entendamos de alguna manera el sentido que podría tener esto.
00:26:49
Entonces, este método de llenar cafetera, ¿qué va a hacer?
00:26:54
¿Necesita algún parámetro desde fuera? Ninguno.
00:26:58
Este método lo que hace es poner la propiedad, cantidad actual, la propiedad,
00:27:01
asignarle el valor que tenga a la capacidad máxima.
00:27:06
Es lo único que hace.
00:27:09
Entonces, estas dos propiedades, después de haber dado a este método, tendrán el mismo valor.
00:27:10
La capacidad máxima se supone que
00:27:15
Cuando hemos arrancado la cafetera
00:27:20
Es decir, cuando hemos instanciado el objeto
00:27:22
Le hemos dicho que capacidad tiene
00:27:23
A ver, vamos a usar esta aplicación
00:27:26
Pequeña
00:27:28
Para incorporar los constructores
00:27:30
¿Vale?
00:27:32
Vamos a incorporar los
00:27:33
No, los constructores
00:27:35
Los get y los set son otra cosa
00:27:37
Los podemos incorporar, podemos aprovechar también esta
00:27:39
Es que los get y los set tienen sentido
00:27:41
Cuando sabemos lo que son los public y los private
00:27:43
Entonces eso lo tendremos que incorporar
00:27:46
Cuando ya hayamos visto public, privados
00:27:47
Y eso será cuando seamos paquetes
00:27:49
Entonces vamos a hacer esta aplicación
00:27:51
Para incorporar el concepto de constructor
00:27:53
¿Vale?
00:27:55
Pues lo que vamos a decir ahora
00:27:57
Venga
00:27:58
No, a ver
00:28:01
Va a ser que incorpores una cosita
00:28:05
Tu aplicación está bien
00:28:07
Pero con constructores
00:28:09
Es una cosa más que podemos incorporar
00:28:10
Para hacer las cosas
00:28:14
Venga, pues vamos a hacer
00:28:14
Ejercicio 13
00:28:16
¿Cuál es esta?
00:28:18
Joder, es que mi cabeza se va
00:28:27
Vale, vale, vale, es que se me olvidan las cosas
00:28:28
Vale
00:28:33
No, proyecto no
00:28:34
Paquete
00:28:37
Uff, ¿de verdad queréis parar?
00:28:39
Venga, dos minutitos.
00:28:50
- 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:
- 17
- Fecha:
- 5 de diciembre de 2024 - 18:34
- Visibilidad:
- Clave
- Centro:
- IES ROSA CHACEL
- Duración:
- 28′ 52″
- Relación de aspecto:
- 1.78:1
- Resolución:
- 1920x1080 píxeles
- Tamaño:
- 125.07 MBytes