Activa JavaScript para disfrutar de los vídeos de la Mediateca.
Clase 12-12-23 - 1 - 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:
Bueno, pues entonces, que no se duerma nadie.
00:00:00
A ver, pues entonces tenemos ahora la oportunidad, magnífica, de resetear un poquito,
00:00:15
porque ahora empezamos con una filosofía nueva de programación.
00:00:24
No es que cambie tanto, porque vamos a utilizar todo lo anterior.
00:00:31
Pero tenemos la oportunidad de resetear, más o menos, todos los conceptos que hemos visto hasta ahora,
00:00:34
en más o menos medida, más o menos, a todos os suenan, unos los manejáis muy bien, otros menos bien,
00:00:39
pero los conocimientos de programación estructurada, que es cómo construir programas con variables,
00:00:47
sean sencillas o a raíz, y luego decisiones y bucles para que hagan lo que nosotros queremos hacer,
00:00:55
más o menos tenemos esa idea, y esa es la programación estructurada, ¿verdad?
00:01:03
La programación estructurada se basa en, yo tengo un problema para resolver,
00:01:07
un problema, entonces tengo ahora que descomponerlo en una secuencia de pasos,
00:01:13
en una secuencia de pasos, y ahora ya, esa secuencia de pasos tiene que constar exclusivamente
00:01:18
de entrada y salida de datos, leer variables, mostrar variables, entrada y salida de datos,
00:01:26
decisiones y bucles, ya está, esa es la programación estructurada.
00:01:33
La programación estructurada es una serie de sentencias, una tras otra, que yo he diseñado,
00:01:38
he diseñado para que consigan hacer lo que yo quería hacer, y esas sentencias,
00:01:43
con que sean decisiones, if, switch case, o bucles, while, for, es suficiente,
00:01:50
y luego por supuesto en asignación de datos a las variables y demás,
00:01:58
esa es la programación estructurada, más o menos, pues ya, mejor o peor,
00:02:02
todos la manejamos.
00:02:08
Pues ahora toda esa base la vamos a meter dentro de otra filosofía de programación,
00:02:10
que es la programación orientada a objetos.
00:02:19
Bueno, pues este es el punto, repito, de resetear y reconectar,
00:02:33
el que esté un poco más perdido, o el que haya desconectado desde hace unas cuantas semanas,
00:02:40
este es el momento de resetear y reconectar.
00:02:46
Vale, pues ¿por qué es necesario incorporar la programación dentro de objetos?
00:02:49
¿O por qué apareció?
00:02:56
¿O por qué de repente empezó a programarse así?
00:02:58
Nosotros hemos dicho ya que cualquier problema, cualquier problema que a uno se le plantee,
00:03:03
que sea resoluble por un ordenador, cualquiera,
00:03:09
con las sentencias de programación estructurada lo puede hacer,
00:03:14
y eso sigue siendo verdad.
00:03:17
Cualquier tarea se puede realizar mediante un algoritmo
00:03:19
que incorpore asignaciones a variables, decisiones y bucles, cualquiera,
00:03:24
siempre y cuando yo organice bien esas sentencias,
00:03:28
que ahí las diseñe bien y decida, ah, vale, tengo que hacer esto, eso.
00:03:31
Pues si las diseño bien, cualquier cosa que a mí se me ocurra,
00:03:35
la puedo resolver combinando decisiones, bucles y asignaciones a variables.
00:03:38
Y eso sigue siendo verdad, eso es verdad, y es inamovible.
00:03:43
Bueno, pues ¿qué necesidad tenemos entonces de programar de otra manera?
00:03:47
Pues tenemos la necesidad de entender nuestros programas un poquito mejor.
00:03:51
Cuando hace 50 o 60 años había que resolver tareas pequeñas,
00:03:58
pues ya está, yo me hago mi programa de 50 líneas seguidas y se acabó,
00:04:03
y 50 líneas seguidas cualquiera lo entiende.
00:04:08
Pero luego ya empiezan a venir volúmenes de datos enormes.
00:04:11
Empieza a venir programas con interfaces gráficas,
00:04:15
empiezan a venir programas distribuidos,
00:04:18
que parte del programa se hace aquí,
00:04:20
pero otra parte del programa se hace aquí y se tienen que comunicar.
00:04:22
Empieza a venir ya las complejidades derivadas de que la tecnología se desarrolla.
00:04:25
Pues entonces yo puedo seguir programando con programación estructural,
00:04:30
claro que puedo, pero mi programa que era antes de 50 líneas,
00:04:33
ahora se convierte en un programa de 357.000 líneas.
00:04:36
Entonces desarrollar 357.000 líneas es una locura,
00:04:41
porque si yo tengo un error, madre mía, ¿dónde lo encuentro?
00:04:45
Y si lo he encontrado, a lo mejor ese ya me encabe en un error aquí,
00:04:50
pues es una locura.
00:04:53
Entonces la aprobación de entradas de objetos, sobre todo,
00:04:55
surge por estos motivos que estamos diciendo.
00:04:58
El primero que he dicho, organizar el código un poquito mejor,
00:05:02
por Dios, no tener 50.000 líneas todas seguidas.
00:05:05
Vamos a organizar el código de otra manera.
00:05:09
La realidad viene esencialmente de ahí.
00:05:12
Vamos a organizar el código de otra manera.
00:05:15
Entonces la idea es la idea de la programación,
00:05:17
lo que antiguamente se llamaba la programación modular,
00:05:21
que era, uy, voy a dividir este código enorme en módulos,
00:05:25
que eran cachos de programa.
00:05:28
Entonces, bueno, la programación modular, algo nos arreglaba,
00:05:32
algo nos arreglaba el galimatías ese de 300.000 líneas,
00:05:37
algo nos lo arreglaba.
00:05:40
Pero esto luego ya se fue depurando, se fue depurando,
00:05:43
se fue depurando, y ya además se persiguió conseguir otros objetivos,
00:05:46
que es, hombre, vale, organizar el código,
00:05:51
vamos a dividirlo en partes, organizar el código,
00:05:54
organizar el código, vamos a llamarlo dividir el código.
00:05:58
Bueno, pues la programación estructurada divide el código
00:06:03
en cosas que se llaman clases.
00:06:07
¿Vale?
00:06:13
¿Qué es lo que veremos más en detalle en este tema?
00:06:14
¿Qué es una clase?
00:06:16
Pues una clase es un cacho de mi aplicación.
00:06:18
Cualquier aplicación construida en Java
00:06:20
y por extensión en cualquier otro lenguaje
00:06:24
que va a tener cada objeto,
00:06:27
pues la filosofía es la misma.
00:06:28
Es un montón de clases.
00:06:30
Ya está.
00:06:32
Y nada más que eso, un montón de clases.
00:06:33
Y cada clase es un trozo de esa aplicación.
00:06:35
Hasta ahora nuestras aplicaciones eran una sola, solo una.
00:06:38
¿No?
00:06:43
Nuestras aplicaciones empezaban con este aquí,
00:06:44
que ponía clas, pa, pa, pa, y luego ya las llaves.
00:06:47
¿Vale?
00:06:50
Pues esto es un trozo de aplicación.
00:06:51
Esto es una clase.
00:06:53
Lo que hemos hecho nosotros hasta ahora es eso.
00:06:54
Esto es una clase.
00:06:57
Lo que hemos hecho nosotros hasta ahora es eso, una clase.
00:06:58
¿Vale?
00:07:02
Pero nuestras aplicaciones tenían solo una.
00:07:03
Porque eran aplicaciones, bueno, pequeñitas, manejables
00:07:05
y no merecía la pena empezar a dividirlo en clases diferentes.
00:07:08
Solo tenían una.
00:07:11
Pero una aplicación Java mínima, cualquiera,
00:07:14
pues tendrá muchas clases.
00:07:17
Tendrá un montón de clases.
00:07:20
Porque ya empezar a hacer diferentes cosas
00:07:22
y el código se va alargando,
00:07:24
tengo que tirar por aquí, tirar por acá.
00:07:25
Bueno, pues la operación de entradas de objetos,
00:07:27
uno de los objetivos es organizar el código
00:07:29
dividiéndolo en estos trocitos que se llaman clases.
00:07:33
Y luego estas clases se pensaron también,
00:07:38
cuando ya se dijo, vale, ¿cómo las vamos a hacer estas clases?
00:07:40
¿Cuál va a ser su sintaxis?
00:07:43
¿Cómo las vamos a construir?
00:07:44
Pues se pensó también eso,
00:07:46
que además se alcanzó un segundo objetivo,
00:07:48
que ahora en realidad es casi el más importante.
00:07:50
Y es el de la reutilización.
00:07:53
Si yo ya tengo mi aplicación
00:08:01
y la tengo muy bien divididas en clases,
00:08:03
por ejemplo, tengo una aplicación que
00:08:05
gestiona los pedidos de una empresa.
00:08:07
Esa aplicación es enorme.
00:08:10
Tengo que hacer, introduzca datos del pedido.
00:08:12
Ahora, pues introduzca datos del cliente.
00:08:14
Hacer un pedido nuevo.
00:08:17
Hacer una reserva, eliminar.
00:08:18
Si tengo una aplicación enorme,
00:08:20
yo entonces ahora digo, uy, esta es muy grande.
00:08:22
Voy a dividirla en clases.
00:08:24
Vale, pues entonces ahora viene la parte del diseño,
00:08:26
que es decir, ¿y qué clases hago?
00:08:29
¿Cada una qué hace?
00:08:31
¿De qué parte se encarga?
00:08:32
Cada aplicación tiene 200.000 diseños posibles.
00:08:34
Unos serán buenos, otros serán malos.
00:08:37
Pero no hay único diseño posible.
00:08:41
Hay tantos diseños como divisiones uno quiera hacer.
00:08:44
Uno puede dividir la aplicación como lo quiera.
00:08:47
Bueno, pues una vez que ha decidido esta división,
00:08:50
por ejemplo, voy a hacer una clase
00:08:53
que es la que se va a encargar de todo lo relacionado
00:08:56
con insertar pedidos nuevos.
00:08:59
Vale, pues yo tengo ahí mi clase para insertar pedidos.
00:09:01
Ahora voy a hacer otra clase que va a hacer
00:09:03
todo lo relacionado con insertar clientes nuevos.
00:09:05
Estupendo, tengo aquí mi clase para insertar clientes.
00:09:09
Ahora voy a hacer otra clase que tenga
00:09:12
todo lo relacionado con hacer las ventanitas gráficas
00:09:14
para comunicarse con el usuario.
00:09:17
Estupendo, tengo mi clase de interfaz gráfica.
00:09:19
Pues una vez que uno tiene ya las clases decididas
00:09:22
y las va haciendo para construir la aplicación,
00:09:25
¿de repente qué ocurre?
00:09:28
Que ahora esa aplicación ya está hecha.
00:09:30
Y ahora vamos a hacer otra aplicación completamente distinta
00:09:32
que va a gestionar otra cosa,
00:09:34
pero que también tiene pedidos.
00:09:36
Estupendo, me cojo la clase que hacía todo relacionado
00:09:38
con los pedidos, me cojo esa clase
00:09:42
y me la llevo también a esta aplicación mía
00:09:44
porque este trocito me vale.
00:09:46
Pues entonces reutilizar esos trozos en otras aplicaciones
00:09:49
o reutilizar las clases
00:09:53
es precisamente la ventaja añadida
00:09:55
y la más importante en realidad
00:09:58
de la aprobación de entrada de objetos.
00:10:00
El poder reutilizar las clases que ya están hechas.
00:10:02
El poder reutilizarlas.
00:10:06
Por ejemplo, yo tengo una aplicación en un solo fichero
00:10:08
con 100.000 líneas.
00:10:11
Reutilizar eso es una locura.
00:10:13
Hasta que encuentre yo el trocito que me vale
00:10:15
y luego adaptar ese trocito a mi código,
00:10:17
meterlo donde toque, es una barbaridad.
00:10:19
Pero con esta filosofía de hacerlo en diferentes clases
00:10:22
ya veremos cuando veamos cómo funciona
00:10:25
que la reutilización es inmediata
00:10:27
porque se adapta automáticamente.
00:10:29
Entonces, este objetivo en realidad
00:10:31
es ahora mismo el más importante
00:10:35
y el que ha hecho que esto triunfe.
00:10:37
Todas las aplicaciones que se hacen
00:10:40
uno no las puede construir todas.
00:10:42
Es imposible.
00:10:44
Entonces, cuando me hace una aplicación de cero
00:10:45
¿Veis que le estás durmiendo?
00:10:47
No.
00:10:49
¿Cómo que no?
00:10:50
Estaba descansando los ojos.
00:10:51
Me duelen los párpados.
00:10:53
¡Ah! ¡Qué estupido que te duelen los párpados!
00:10:54
Sí, porque cuando duermo poco
00:10:56
me duelen los párpados al pestañero.
00:10:58
¿Qué cosas más grandes me pasan?
00:11:00
Me pasa algo muy largo.
00:11:02
Bueno, bueno.
00:11:04
Hay que dormir, sí.
00:11:05
Eh...
00:11:08
Vale, entonces
00:11:11
lo de la reutilización ahora es imprescindible.
00:11:12
Cuando uno ya se plantea hacer una aplicación en condiciones
00:11:14
parte de las clases las programa uno.
00:11:18
Obviamente, parte las programa uno.
00:11:21
Pero el 90% restante
00:11:23
son clases que usamos que ya están hechas.
00:11:26
De paquetes de clases que descargamos,
00:11:29
que miramos en el repositorio,
00:11:32
todo eso, toda esa filosofía de programación,
00:11:34
reutilizando clases, llenando clases,
00:11:36
es la que vamos a ir construyendo aquí.
00:11:38
Que descargamos del mar, que no sé qué.
00:11:40
Cualquier aplicación necesita clases que hemos hecho nosotros.
00:11:43
Cualquiera.
00:11:48
¿Vale?
00:11:49
Bueno, pues esta es
00:11:51
la motivación para que exista esto.
00:11:55
Organizar el código de manera que mi aplicación
00:11:59
sea un poquito más legible.
00:12:01
Y si yo tengo que hacer una modificación,
00:12:03
no sea una locura,
00:12:05
porque me voy al trozo correspondiente y modifico,
00:12:07
y tengo que buscar en mil líneas,
00:12:09
para organizarlo y que quede más claro,
00:12:11
y poder reutilizarlo.
00:12:13
Estas son las dos motivaciones
00:12:16
de la aplicación entre dos objetos.
00:12:20
Y claro, ahora ya lo que hay dentro de estas clases
00:12:22
ya es programación estructurada.
00:12:28
Lo que hemos visto.
00:12:31
Lo que hay dentro de estos trozos
00:12:33
ya es lo que hemos visto.
00:12:35
Los while, los for, las variables,
00:12:37
eso ya está dentro de los trocitos.
00:12:42
¿Vale?
00:12:44
¿Vale?
00:13:02
¿Vale?
00:13:14
¿Está claro?
00:13:15
Bueno, pues entonces,
00:13:18
vamos a ver si a través de algún ejemplo
00:13:19
entendemos un poquito mejor cómo funciona.
00:13:21
A ver.
00:13:24
Las aplicaciones están
00:13:26
íntimamente relacionadas con una realidad
00:13:28
que es con la que estamos trabajando.
00:13:32
¿Verdad?
00:13:35
Uno hace una aplicación para facturas,
00:13:36
para las matrículas de secretaría,
00:13:40
para los pedidos de mi tienda de ropa.
00:13:42
Las aplicaciones están para resolver o ayudarnos
00:13:45
en la gestión de un problema real.
00:13:49
¿Verdad?
00:13:51
Nunca lo olvidemos.
00:13:52
Están para eso las aplicaciones.
00:13:53
¿Vale?
00:13:54
Una aplicación matemática.
00:13:55
Pues nos está ayudando en resolver un problema real
00:13:56
de sumas-restas al fin y al cabo.
00:13:59
Entonces,
00:14:02
cuando ya tenemos la posibilidad
00:14:03
de hacer una aplicación con diferentes trozos,
00:14:05
viene una parte
00:14:09
que es la parte que a nosotros nos compete menos
00:14:11
porque esta parte se ocupa más de ella,
00:14:15
los analistas, diseñadores, pues,
00:14:19
que no va a ser vuestro trabajo.
00:14:22
El trabajo va a ser sobre todo
00:14:24
ya directamente escribir código, modificar código.
00:14:26
Pero bueno,
00:14:30
cuando uno empieza una aplicación de cero
00:14:31
para gestionar su empresa de pantalones vaqueros,
00:14:33
sus libros de biblioteca,
00:14:38
cuando uno empieza una aplicación,
00:14:40
como ahora ya tiene la posibilidad
00:14:42
de hacer esa aplicación bien,
00:14:44
dividiéndola en clases para que sea organizada,
00:14:46
pues antes de nada le viene una primera parte
00:14:49
que es ¿vale?
00:14:52
¿Y en qué trozos divido?
00:14:53
¿En qué trozos divido?
00:14:55
¿En qué trozos divido?
00:14:57
¿Qué clases hago?
00:14:58
Esa es la parte de diseño.
00:15:00
Esa es la parte de diseño.
00:15:02
Vamos a diseñar en qué trozos divido
00:15:04
y luego ya le pongo a programar esos trocitos.
00:15:06
Entonces, como he dicho antes,
00:15:09
esa primera parte de diseño
00:15:11
hay muchos posibles en realidad.
00:15:13
Si yo consigo un diseño que sea muy claro
00:15:16
y la aplicación sea mantenible,
00:15:19
me ha acertado, es un diseño bueno.
00:15:21
Si hago un diseño y otro viene mi aplicación
00:15:23
y me dice no entiendo nada,
00:15:25
no entiendo nada de estos trozos,
00:15:27
pues entonces igual mi diseño es malo.
00:15:29
Es una cuestión de práctica sobre todo.
00:15:31
Pero hay una serie de pautas básicas
00:15:33
en las que nosotros no nos centramos muchos.
00:15:36
Quizás la asignatura...
00:15:39
¿Habéis empezado ya WML con Vanessa?
00:15:41
Con Marina, ¿verdad?
00:15:45
¿Qué nos da entornos de desarrollo?
00:15:52
¿Entornos o son de AVEA?
00:15:55
Vale, ¿habéis visto diagramas de clases?
00:15:57
Bueno, pues cada diagramita que habéis visto de clases
00:16:01
es un diseño y cada una de esas clases
00:16:04
es un trozo de una aplicación.
00:16:07
Entonces, ahí habréis de alguna manera intuido o visto
00:16:09
que cada una de esas clases
00:16:13
suele estar asociada, como pauta de diseño natural,
00:16:17
a un concepto de la realidad que yo estoy representando.
00:16:22
Por ejemplo, es como cuando hacéis un modelo
00:16:26
de entidad-relación en bases de datos.
00:16:29
Diseñar las clases es lo mismo
00:16:31
que hacer un modelo de entidad-relación.
00:16:34
Es exactamente el mismo problema.
00:16:37
Vosotros, pues no sé exactamente
00:16:39
pero tenéis que gestionar a lo mejor
00:16:41
pues eso, una empresa que lleva pedidos de cosas.
00:16:50
Entonces, los dos ahí tendréis que haber decidido
00:16:54
a ver, ¿cuáles son mis entidades?
00:16:57
Entonces, de forma natural os habrá salido.
00:17:02
A ver, mi empresa va a hacer pedidos.
00:17:05
De forma natural, una de las entidades
00:17:08
de mi modelo de datos será el pedido.
00:17:11
Porque si mi empresa trabaja con pedidos,
00:17:14
de forma natural una de mis entidades es un pedido.
00:17:17
O sea, cada entidad es un concepto real
00:17:20
que existe en la realidad que yo estoy tratando de modelar.
00:17:24
Entonces, ¿cómo verifica uno que esa entidad
00:17:30
que ha elegido está bien elegida
00:17:33
desde un criterio de diseño?
00:17:35
Pues porque la puede caracterizar con propiedades.
00:17:37
¿A un pedido se le puede caracterizar?
00:17:40
Sí, a un pedido se le puede decir.
00:17:43
El pedido se le puede caracterizar
00:17:45
por lo que cuesta, la fecha.
00:17:47
Entonces, si tú has identificado un concepto
00:17:49
y lo puedes caracterizar con propiedades
00:17:51
como fecha, cantidad, seguramente
00:17:54
hayas elegido bien la entidad.
00:17:57
Si has elegido otro concepto
00:17:59
y no le encuentras propiedades,
00:18:01
pues seguramente sea un concepto
00:18:04
que no está bien pensado
00:18:07
para asociarlo a una entidad.
00:18:09
Que no es un concepto real
00:18:11
que tú puedes tocar o identificar.
00:18:13
Pues más o menos,
00:18:15
cuando habéis hecho poderes de entidad de relación,
00:18:17
las entidades que os han salido
00:18:19
son efectivamente conceptos caracterizables
00:18:21
de la realidad que modeláis.
00:18:23
Y cada una de esas características
00:18:25
era cada uno de los campos de la tabla.
00:18:27
Cada uno de los campos.
00:18:30
Una clase es igual que una entidad
00:18:32
en un modelo de interrelación.
00:18:34
Es lo mismo.
00:18:36
Cuando uno diseña una aplicación
00:18:37
para una empresa que trabaja
00:18:39
con pedidos y clientes,
00:18:41
dice, vale, tiene sentido que haya un pedido.
00:18:43
Pues ala, ya tenemos una clase.
00:18:45
Mi aplicación.
00:18:50
Voy a hacer un ejemplito así muy por encima
00:18:53
para que lo entendamos
00:18:55
antes de programar ya más en faena.
00:18:57
Aplicación para gestionar
00:19:00
pedidos de clientes.
00:19:04
Vale, entonces.
00:19:11
Pues si va a gestionar los pedidos
00:19:13
de clientes, rápidamente
00:19:15
se nos ocurrirá.
00:19:17
Pues hombre, el concepto pedido
00:19:19
tiene importancia, el concepto pedido.
00:19:21
Ah, estupendo, pues ya tenemos
00:19:23
una clase o entidad
00:19:25
que en pronunciamiento de objetos se suele usar
00:19:27
como sinónimo clase y entidad
00:19:29
que sea pedido. Fenomenal.
00:19:31
Ala, guay.
00:19:33
Tengo ya una clase pedida. Ya veremos cómo la programamos
00:19:35
y qué hago con ella. Ya veremos. Pero tiene sentido que exista.
00:19:37
Vale, mi aplicación
00:19:39
con qué más va a trabajar.
00:19:41
Pues con clientes. Porque mi aplicación
00:19:43
se va a autenticar a un cliente, el cliente va a hacer un pedido.
00:19:45
Ah, pues tiene sentido
00:19:47
que haya también una entidad cliente.
00:19:49
Y además caracterizable por su DNI,
00:19:51
su fecha de alta, lo que sea.
00:19:53
Ah, tiene sentido. Ah, genial. Pues decido yo
00:19:55
que haya una clase cliente.
00:19:57
Vale, entonces en una aplicación
00:20:01
y entidad objetos tenemos que hacer un diseño
00:20:03
previo de cuáles son
00:20:05
los trozos o las clases que me interesan.
00:20:07
Y
00:20:09
como pauta, que repito
00:20:11
no es nuestro problema ni lo que nosotros
00:20:13
evaluamos en este módulo, porque este módulo es formación
00:20:15
no es análisis, ni vais a ser analistas.
00:20:17
Como pauta
00:20:19
las clases que uno
00:20:21
elige tienen que
00:20:23
corresponderse a conceptos y entidades
00:20:25
de la realidad
00:20:27
que estoy yo modelando.
00:20:29
En este caso es evidente, si es una aplicación de pedidos clientes
00:20:31
un pedido
00:20:33
y una entidad cliente.
00:20:35
Habrá aplicaciones en las cuales
00:20:37
decidir las clases no es tan evidente.
00:20:39
Bueno, pues por eso está tan bien
00:20:41
pagado el trabajo del analista.
00:20:43
Porque esto es lo que hace y lo tienen que hacer bien.
00:20:45
Analista diseñador.
00:20:47
Porque si lo hacen mal y luego uno se pone
00:20:49
a programar ya una aplicación
00:20:51
con unas clases mal decididas
00:20:53
después hay un caos de aplicación
00:20:55
que al final puede que funcione, pero es un caos
00:20:57
y luego eso ya se va a abandonar, no va a tener recorrido
00:20:59
porque va a ser imposible mantenerlo.
00:21:01
Bueno, pues en nuestra aplicación de clientes pedidos
00:21:05
hemos decidido que haya
00:21:07
esas dos entidades.
00:21:09
Vale, pues vamos a programar una de ellas
00:21:11
para ver cómo se programa una clase.
00:21:13
Muy por encima, solamente para ver
00:21:15
cómo es el funcionamiento.
00:21:17
Hay que meterse ya, que ese ya es lo más rollo
00:21:19
en todos los detalles ya técnicos
00:21:21
de qué puede haber dentro de una clase.
00:21:23
Pero eso ya sí que es un chorizo.
00:21:25
Métodos estáticos para ti y para tan.
00:21:27
Antes vamos a ver
00:21:29
pues un panorama de cómo funciona esto
00:21:31
como funciona la aplicación de entrada de objetos.
00:21:33
Bueno, pues venga, hemos decidido que haya
00:21:35
estas dos clases, pedido y cliente.
00:21:37
Vale, pues ahora ya uno va
00:21:39
cada una, una por una, caracterizándolas.
00:21:41
Vamos a suponer que vamos a
00:21:43
programar la clase pedido.
00:21:45
Venga, empezamos con esta.
00:21:47
Pues si uno ha hecho su diagramita UML
00:21:51
los que hacéis en entornos
00:21:53
ya tendrá aquí un diagramita
00:21:55
estupendo que le habrá dado
00:21:57
el analista, diseñador, quien sea,
00:21:59
le habrá dicho, oye clase pedido y de pedido
00:22:01
te interesa la propiedad
00:22:03
pues código
00:22:05
que va a ser un entero
00:22:07
y además de pedido
00:22:09
te va a interesar
00:22:11
la descripción del pedido, que va a ser
00:22:13
una cadena de texto. Pongo ahí texto
00:22:15
aunque bueno, no se pone así, pero bueno.
00:22:17
Descripción.
00:22:19
A lo mejor resulta que sólo nos interesan
00:22:21
esas dos cosas del pedido. Bueno, vamos a
00:22:23
simplificar, nos interesan esas dos.
00:22:25
Nos interesa el código y la descripción.
00:22:27
Nada más, sólo esas dos.
00:22:29
¿Vale? Esa es la siguiente
00:22:31
fase, cuando uno ya ha identificado
00:22:33
una de las entidades
00:22:35
que le interesan en su aplicación
00:22:37
tiene que caracterizarla, es decir, ¿por qué se va a
00:22:39
caracterizar? Por el código
00:22:41
y por la descripción.
00:22:43
Si se caracteriza por más, pues por más, por las que sean.
00:22:45
Bueno, pues vamos a
00:22:47
programar ya esta clase.
00:22:49
Vamos a programarla.
00:22:51
Pues ¿cómo se programa ya una clase
00:22:53
de estas?
00:22:55
Vale, empezamos
00:22:57
con la palabra reservada
00:22:59
CLASS, sí o sí.
00:23:01
Vale, empezamos con esta palabra reservada
00:23:03
CLASS.
00:23:05
¿Qué se pone
00:23:07
después? El nombre
00:23:09
que yo decido, el que a mí me da la gana.
00:23:11
Lo normal es que sea un nombre, obviamente,
00:23:13
que represente esa realidad,
00:23:15
ese concepto. Pues en
00:23:17
este caso, pedido, es lo que más lo
00:23:19
representa a la pedido.
00:23:21
Que es un nombre muy largo, no pasa nada.
00:23:25
Que sea todo lo largo que sea. Hay
00:23:27
clases que tienen hasta 100 caracteres de nombre.
00:23:29
Pero que se entienda.
00:23:31
Porque si luego alguien va a reutilizar
00:23:33
su código,
00:23:35
ya veremos
00:23:37
por qué razones, por qué irá surgiendo.
00:23:39
Pues va a necesitar
00:23:41
información sobre qué representa eso.
00:23:43
Y la información en primera instancia
00:23:45
va a venir con el nombre. Entonces si el nombre lo describe
00:23:47
bien, maravilloso. Si no, no. Dime.
00:23:49
Descripción.
00:23:51
Vamos.
00:23:53
Bueno, pues así empieza. ¿Y ahora qué?
00:23:55
Pues ahora unas llaves que
00:23:57
abren y cierran donde está todo
00:23:59
el código de la clase. Todo el código.
00:24:01
Bueno, pues esta sería
00:24:05
una clase.
00:24:07
Que ahora vamos a ver qué metemos dentro.
00:24:11
A ver, siguiente cosa.
00:24:13
No es que sea obligatorio,
00:24:17
pero de nuevo,
00:24:19
es una regla de programación convenida
00:24:21
un poco por todos,
00:24:23
para clarificar y entendernos
00:24:25
entre nosotros.
00:24:27
Que los nombres de las
00:24:29
clases empiecen en letra
00:24:31
mayúscula.
00:24:33
¿Recordáis cuando estábamos viendo
00:24:35
declaración de variables que yo os decía?
00:24:37
Cuando declaráis una variable
00:24:39
así,
00:24:41
pauta en general
00:24:43
no obligatoria,
00:24:45
pero sí recomendable.
00:24:47
Que las variables empiecen
00:24:49
siempre con minúscula.
00:24:51
Lo dijimos en su momento.
00:24:53
Dije, eso tiene una explicación y es para
00:24:55
dejar muy claro
00:24:57
que es una variable y no una clase.
00:24:59
¿Vale? Porque las clases tienen
00:25:01
la otra pauta. Recomendable
00:25:03
que empiecen con letra mayúscula.
00:25:05
Recomendable.
00:25:07
Y así, cuando uno ve un código por ahí,
00:25:09
rápidamente,
00:25:11
si es mayúscula el identificador
00:25:13
o si es minúscula,
00:25:15
rápidamente ve, ah, esto es una clase.
00:25:17
Ah, no, esto es una variable. Entonces, esa información
00:25:19
ya le orienta muchísimo sobre
00:25:21
el funcionamiento del código.
00:25:23
Entonces, recomendable seguir esas
00:25:25
pautas de trabajo.
00:25:27
Bueno, pues entonces.
00:25:29
¡Hala!
00:25:33
Clase pedido.
00:25:35
Vale.
00:25:47
A ver, ¿queréis que ponamos unos minutos?
00:25:49
Vale, venga.
00:25:53
Venga, dos
00:25:55
minutillos, sí.
00:25:57
Tengo que subir los vídeos de ayer que no he tenido
00:25:59
tiempo a subirlos.
00:26:01
No, no, no.
00:27:01
No, no, no.
00:27:31
Y nada.
00:28:01
¿Qué dices?
00:28:31
¿Qué dices?
00:29:01
¿Qué dices?
00:29:31
¿Qué dices?
00:30:01
¿Qué dices?
00:30:03
¿Qué dices?
00:30:13
¿Qué dices?
00:30:15
¡Uy!
00:30:23
¿Qué dices?
00:30:25
¿Qué dices?
00:30:31
¿Qué dices?
00:30:41
¿Qué dices?
00:30:51
¿Qué dices?
00:30:55
¿Qué dices?
00:30:57
¿Qué dices?
00:31:05
¿Qué dices?
00:31:09
¿Qué dices?
00:31:21
¿Qué dices?
00:31:27
¿Qué dices?
00:31:31
¿Qué dices?
00:31:37
¿Qué dices?
00:31:41
¿Qué dices?
00:31:45
¿Qué dices?
00:31:51
¿Qué dices?
00:31:53
¿Qué dices?
00:31:57
¿Qué dices?
00:32:01
¿Qué dices?
00:32:03
¿Qué dices?
00:32:07
¿Qué dices?
00:32:11
Para minitando
00:32:19
¿you want to sit down?
00:32:23
Ya estoy
00:32:27
Pues dejámoslo
00:32:37
Vámonos
00:32:39
Óscar...
00:32:45
Ya están aquí
00:32:49
¿No?
00:32:53
Ya está
00:32:55
Ya está
00:33:15
Ya estás haciendo las caritas
00:33:19
Ya está
00:33:23
Ya está
00:33:41
Por el movimiento que tiene
00:33:43
Ya está
00:33:47
Vamos con la virta
00:33:49
Otra virta
00:33:51
Ya está
00:33:53
Voy a hacer cuatro
00:33:57
Esta hacer
00:34:00
Yo cierto
00:34:05
Pero sube a la parte
00:34:07
Ya va a cambiar el número
00:34:09
Eso sí, es como va subiendo el número
00:34:21
Pero no hay nada seguramente
00:34:29
Aquí también hay
00:34:33
No hay nada seguro
00:34:39
Estás tú
00:34:53
Sí, eso es una virta
00:34:59
Sí
00:35:05
Sí
00:35:09
Ya está, eso es como se encuentra
00:35:15
Claro
00:35:17
No me lo puedo creer, no pare esto
00:35:27
- Subido por:
- Raquel G.
- Licencia:
- Todos los derechos reservados
- Visualizaciones:
- 4
- Fecha:
- 18 de diciembre de 2023 - 13:53
- Visibilidad:
- Público
- Centro:
- IES ROSA CHACEL
- Relación de aspecto:
- 1.78:1
- Resolución:
- 1280x720 píxeles
- Tamaño:
- 676.24 MBytes