Saltar navegación

20241205 POO-Clases_8 - 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.

17 visualizaciones

Descargar la transcripción

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
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
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

Del mismo autor…

Ver más del mismo autor


EducaMadrid, Plataforma Educativa de la Comunidad de Madrid

Plataforma Educativa EducaMadrid