20251201 POO_Intro - 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 ahora ya vamos a cambiar la forma de plantear las aplicaciones.
00:00:00
Vamos a abrirnos a una forma diferente de plantear las aplicaciones.
00:00:09
No, todavía. Esto es una pequeña introducción.
00:00:15
No nos va a dar tiempo a más.
00:00:18
Gracias, afortunadamente, para Yasmín.
00:00:19
Vale, vamos a cambiar nuestra forma ahora de plantearnos los problemas, los ejercicios.
00:00:23
hasta ahora
00:00:29
todo se trataba de hacer, hacer, hacer
00:00:30
hacer, hacer, programa que haga
00:00:33
programa que haga, programa que haga, programa que recorra
00:00:35
que muestre, que haga, que haga, que haga
00:00:37
todo era hacer, hacer, hacer
00:00:39
pues vamos a mover del hacer
00:00:40
y vamos a irnos al ser
00:00:42
¿vale? ahora nos va a importar el ser
00:00:45
en lugar del hacer
00:00:47
o sea justo lo contrario que en la vida
00:00:49
que el ser da igual lo que importa es el hacer
00:00:51
pues aquí
00:00:53
en el diseño de aplicaciones y de software
00:00:55
es lo contrario
00:00:57
Lo que importa es, la parte más importante es cómo son las cosas, cómo las describo, porque si las describo correctamente, ya lo que toca hacer con ellas va a ser más fácil de programar, ¿vale?
00:00:58
Entonces, ¿por qué es importante cambiar este patrón de pensamiento?
00:01:17
Porque las aplicaciones reales con las que trabajamos
00:01:20
lo que hacen es gestionar un montón de cosas.
00:01:23
Las aplicaciones que hemos hecho nosotros hasta ahora
00:01:26
trabajaban con numeritos.
00:01:28
Describir un numerito era muy fácil.
00:01:31
Un número, no hay más que decir, un número.
00:01:32
Describir una cadena es muy fácil.
00:01:35
Un montón de caracteres, ya está.
00:01:38
Pero una aplicación que en lugar de trabajar con números y cadenas
00:01:40
como las nuestras, que no trabajaban con nada más,
00:01:43
trabajan con usuarios
00:01:45
sus perfiles de no sé qué
00:01:47
sus facturas, sus matrículas
00:01:49
esa aplicación automáticamente
00:01:51
dices, espera, deja de contarme
00:01:53
qué va a hacer esto
00:01:55
y empieza a describirme cada cosa
00:01:56
empieza a describirme, a ver
00:01:59
me dices que la aplicación trabaja con alumnos
00:02:01
por la opción de secretaría
00:02:04
cuéntame, este alumno
00:02:05
¿qué le importa a la aplicación?
00:02:07
¿le importa su color de ojos o su altura?
00:02:10
pues no, porque es la de secretaría, le da igual
00:02:12
le importa su DNI
00:02:14
su número de matrícula
00:02:16
su fecha de nacimiento
00:02:19
si ha pagado o no ha pagado
00:02:21
eso es lo que le importa a la aplicación
00:02:22
ah, vale, vale, pues yo tomo nota
00:02:24
ahí estoy describiendo
00:02:26
describiendo las realidades
00:02:28
con lo que va a trabajar mi aplicación
00:02:30
oye, me dices que tu aplicación
00:02:32
también va a usar matrículas, pero a ti de la matrícula
00:02:34
¿qué te importa?
00:02:36
¿te importa si el papel
00:02:38
está apaisado o está en vertical?
00:02:40
no, eso me da igual, de la matrícula me importa
00:02:42
la cuantía
00:02:43
¿vale? el número
00:02:45
de módulos que la integran
00:02:48
la fecha límite de pago, eso es lo que me importa
00:02:49
ah vale, pues yo describo matrícula, patatín
00:02:51
patatán, entonces esa parte
00:02:53
la parte de describir
00:02:56
caracterizar la realidad
00:02:58
de las cosas
00:03:00
con las que va a trabajar mi aplicación
00:03:02
es
00:03:04
casi la parte más importante
00:03:05
en el diseño de software
00:03:07
¿vale? la parte de los analistas
00:03:08
nosotros luego
00:03:11
en nuestros casos reales prácticos en este curso,
00:03:13
pues hombre, tampoco vamos a tener muchas cositas que gestionar.
00:03:18
Pues un alumno, sus matrículas, un pedido, sus ítems, sus facturas.
00:03:21
Bueno, no va a ser una cantidad ingente de cosas,
00:03:25
pero sí que unas cuantas cositas habrá que describir.
00:03:28
Bueno, pues esas cositas,
00:03:31
esas cositas es lo que en general,
00:03:33
para ir incorporando terminología,
00:03:35
es lo que se llama la entidad.
00:03:37
Que todo esto, de repente, cada vez empieza a sonaros más
00:03:39
a bases de datos, ¿verdad?
00:03:42
porque las bases de datos y la programación
00:03:43
están absolutamente interconectadas.
00:03:47
¿Por qué?
00:03:51
Porque la aplicación, ¿qué hace?
00:03:51
Hacer cosas con cosas que hay en una base de datos.
00:03:53
Eso es lo que hace una aplicación.
00:03:56
Operar con cosas que hay en bases de datos.
00:03:59
Nosotros hasta ahora hemos operado
00:04:02
con cosas que hay en variables.
00:04:04
Pero bueno, en un caso real,
00:04:06
las cosas no están en una variable,
00:04:08
porque si estuviera en una variable,
00:04:10
cuando la aplicación termina,
00:04:11
se ha ido toda la porra, si la aplicación de secretaría
00:04:12
cada vez que se apaga por la noche
00:04:14
se van todas las matrículas y todos los alumnos
00:04:16
a la basura, pues sería
00:04:19
menudo plan, ¿no? Las cosas con las que
00:04:20
trabaja una aplicación estarían a base de datos
00:04:22
Estoy diciendo esto
00:04:24
pues para justificar
00:04:27
por qué están tan ligados
00:04:29
los términos de las bases de datos
00:04:30
de la programación, porque son la misma cosa
00:04:32
Entonces el término entidados suena
00:04:34
ya de programación, de perdón
00:04:36
de base de datos
00:04:38
y en base de datos
00:04:39
al término entidad le dais alguna definición
00:04:42
o algo, que entendéis
00:04:45
por entidad vosotros con lo que sabéis ahora
00:04:47
de bases de datos
00:04:49
algo de lo que queremos guardar
00:04:49
información, pues aquí es lo mismo
00:04:51
lo que pasa es que aquí no es
00:04:55
solo, aquí añadimos un paso más
00:04:57
una entidad
00:04:58
es algo cuya información nos interesa
00:05:00
lo que tiene, pero
00:05:03
aquí también nos interesa lo que es
00:05:04
capaz de hacer
00:05:07
¿Vale? Luego una entidad para nosotros en programación es un dato complejo que queremos gestionar, un dato complejo, es decir, un registro de la base de datos, efectivamente es un dato complejo, tiene muchos campos, un dato complejo que queremos gestionar, ¿vale?
00:05:08
Por eso mi aplicación a lo mejor trabaja con alumnos, pues la entidad, ¿cuál sería? El alumno, porque mi aplicación quiere trabajar con alumnos, que son datos complejos, el alumno tiene, no, hombre, DNI, un dato complejo, ¿vale? Pues una entidad es un dato complejo que queremos manejar y mi aplicación puede manejar muchas entidades distintas.
00:05:40
Entonces, esta es la parte que es como bases de datos. Un dato tiene datos, lo que sea, pero aquí además para nosotros una entidad tiene un comportamiento. Además de tener sus datos, su información, la entidad tiene lo que se llama un comportamiento.
00:06:00
O dicho de otra manera, en base de datos, una entidad lo único que hace es tener datos dentro, ya está, tiene datos y se acabó, para que estén ahí guardados a disposición de quien quiera ir a cotillear, ya está.
00:06:27
Pero para nosotros una entidad tiene datos y tiene cosas y además puede hacer cosas, tiene un comportamiento, puede hacer cosas y esas cosas que puede hacer las programaremos nosotros con lo que conocemos hasta ahora.
00:06:45
luego, lo que hemos hecho hasta ahora
00:07:03
es aprender a programar
00:07:07
el comportamiento
00:07:09
de las entidades
00:07:11
porque nuestra aplicación
00:07:13
va a ser
00:07:16
nuestra aplicación
00:07:17
¿de dónde va a surgir?
00:07:20
un problema que se nos plantea
00:07:21
nos viene un cliente
00:07:23
oye, necesito una aplicación para que me gestiones
00:07:24
mi agenda de contactos
00:07:27
porque es que hay un montón de cosas
00:07:29
que yo necesito con mi agenda de contactos
00:07:31
necesito tenerla aquí registrada
00:07:33
necesito
00:07:35
poder validar si este contacto
00:07:36
el teléfono pues está
00:07:39
erróneo o no está erróneo
00:07:41
necesito una aplicación de mi agenda
00:07:43
de contactos que haga
00:07:45
para yo poder hacer un montón de cosas con ella
00:07:46
bueno pues entonces
00:07:49
nosotros nuestro primer
00:07:51
paso es vamos a ver
00:07:53
esta aplicación
00:07:55
que vas a gestionar tú, que vas a gestionar
00:07:57
que quieres tú, pues te lo acabo de decir
00:07:59
una agenda de contactos, ah vale
00:08:01
Pues un contacto. El contacto será la entidad. Es algo complejo que tendrá cosas dentro. Nombre, número de teléfono, lo que sea. Esa será la entidad. Y ahora ya esa aplicación, aparte de tener los datos concretos, sirve para que uno haga cosas, lógicamente.
00:08:02
esa aplicación, si yo la hago, es para que alguien
00:08:26
pueda darle a botoncitos o elegir
00:08:28
un menú y hacer cositas
00:08:30
como mostrar contacto
00:08:32
más llamado
00:08:35
por ejemplo, al que yo he llamado más
00:08:36
en la última semana, a lo mejor me interesa a mí
00:08:38
que la aplicación haga eso, me muestra al que más he llamado
00:08:40
¿vale? para
00:08:42
bueno, pues entonces ahora ya eso lo programaré
00:08:43
y eso
00:08:46
esa parte la tengo que
00:08:47
ubicar en algún sitio
00:08:50
pues eso, mostrar el contacto más llamado
00:08:51
será un programita
00:08:54
como lo que hemos hecho nosotros
00:08:57
e irá metido
00:08:58
dentro de la entidad contacto.
00:09:00
¿Vale?
00:09:03
Entonces,
00:09:05
las aplicaciones en Java
00:09:06
y en cualquier lenguaje
00:09:09
de programación orientada a objetos,
00:09:11
que es el tema
00:09:13
que estamos empezando a ver ahora mismo.
00:09:15
Digamos que la programación estructural
00:09:18
la ya hemos dejado
00:09:20
y ahora ya incorporamos
00:09:21
la programación orientada a objetos,
00:09:23
Que no es que sea distinta, es un superconjunto de la operación estructural.
00:09:24
La operación estructural está dentro de la programación orientada a objetos.
00:09:30
Bueno, pues la operación orientada a objetos está basada entonces en esta idea.
00:09:34
Está basada en esta idea.
00:09:39
Bueno, pues un programa de programación orientada a objetos,
00:09:55
como son los de Java o los de cualquier lenguaje orientado a objetos, ¿qué es?
00:09:59
Un programa o una aplicación orientada a objetos es un conjunto de clases.
00:10:03
un programa orientado a objetos, ¿qué es?
00:10:09
Es un conjunto de clases, ¿vale?
00:10:15
¿Y qué es una clase?
00:10:28
Una aplicación es un conjunto de clases,
00:10:30
una clase, otra clase, otra clase, otra clase, ¿vale?
00:10:32
¿Qué son esas clases?
00:10:35
Pues las clases son precisamente las entidades,
00:10:37
lo que yo he llamado entidades,
00:10:40
Esas son las clases.
00:10:43
Pues mi aplicación orientada a objetos para gestionar las matrículas de mis alumnos tendrá una clase alumno, una clase matrícula, por lo menos.
00:11:16
Y luego si hacen falta más, según va profundizando, ¿vale?
00:11:31
Luego, ahora ya, nuestro programa va a ser un conjunto de clases donde cada clase es una entidad, ¿vale?
00:11:35
y ahora diréis
00:11:42
¿por qué se llama
00:11:44
programación orientada a objetos?
00:11:47
si un programa orientado a objetos es un conjunto de clases
00:11:50
bueno, objetos es otro concepto
00:11:53
vale, entonces nosotros ya tenemos
00:11:55
la aplicación hecha, tiene
00:11:57
una clase que es la clase alumno
00:11:58
y una clase que es la clase matrícula
00:12:01
ahora, cuando el
00:12:04
programa arranca, la aplicación arranca
00:12:05
¿alumnos cuántos
00:12:07
puede haber? pues mil
00:12:09
los mil del instituto
00:12:11
pues cada ejemplo concreto de alumno
00:12:12
cada ejemplo es un objeto
00:12:15
luego clase
00:12:18
es la idea
00:12:19
clase es la idea, la entidad
00:12:20
hay una idea que es mi idea alumno
00:12:23
que tiene que estar reflejada y programada
00:12:25
cuando el programa arranca
00:12:27
ahora ya de esa idea
00:12:30
clase o entidad
00:12:31
de esa idea, clase o entidad
00:12:33
aparecerán tropecientos
00:12:35
todos respondiendo a la misma idea
00:12:38
a la misma entidad, a la misma clase, tropecientos.
00:12:40
Pues cada uno de esos tropecientos,
00:12:43
que son ejemplos distintos de la misma plantilla,
00:12:45
ejemplos distintos, es lo que se llama objetos.
00:12:48
Entonces esta brevísima introducción
00:12:52
es para que entendáis un poco la filosofía
00:12:54
por encima de la planeación en cada objeto.
00:12:57
Son aplicaciones que parten de un diseño previo
00:12:59
en el que tú identificas las entidades
00:13:06
que vas a gestionar o necesitar.
00:13:08
Las identificas.
00:13:11
Cada entidad, tú la programas, ya veremos cómo,
00:13:13
reflejando los datos que tendrá esa realidad, esa idea.
00:13:17
Ya está, tengo mi entidad alumno, mi entidad matrícula,
00:13:24
mi entidad pago, lo que sea.
00:13:28
Y esa es mi aplicación programada.
00:13:31
Cuando eso arranca, ya en tiempo de ejecución,
00:13:33
a lo mejor tengo 3 de alumno
00:13:35
4 de matrícula
00:13:38
5 de pagos, las que sean
00:13:39
según el uso de la aplicación
00:13:41
pues cada uno de esos ejemplos concretos es un objeto
00:13:43
¿vale?
00:13:46
bueno, entonces más o menos esto es para clarificar
00:13:47
el primer concepto fundamental
00:13:50
de la aplicación de todos los objetos
00:13:52
la diferencia entre clase y objeto
00:13:53
clase es la plantilla
00:13:56
que uno programa y escribe
00:13:57
objeto es el ejemplo
00:13:59
concreto de esa plantilla
00:14:01
¿vale?
00:14:03
Clase sería, alumno, se caracteriza por DNI, para que sea más fácil, alumno, se caracteriza por altura y color de ojos, esa es la clase.
00:14:05
Ahora, objeto, el alumno de 1,70 con ojos azules, ese es un objeto.
00:14:18
Otro objeto, el alumno de 1,80 con ojos negros, ese es otro objeto.
00:14:23
un tercer objeto, el alumno de 1.50
00:14:27
con ojos marrones
00:14:30
diferentes objetos, todos
00:14:31
respondiendo a la misma plantilla
00:14:33
que sería la clase, la entidad
00:14:36
¿vale?
00:14:37
el objeto
00:14:39
solo tiene sentido en tiempo
00:14:40
de ejecución, cuando la aplicación
00:14:43
se está ejecutando, ahí aparecen
00:14:44
y son ejemplos concretos
00:14:46
de tu plantilla general
00:14:48
que tú has programado en tiempo
00:14:50
de escritura de código
00:14:52
yo sería un objeto
00:14:54
claro, la idea que tenemos
00:14:55
platónica de alumno
00:14:58
es la entidad
00:15:00
cada uno de vosotros sois un objeto
00:15:01
de esa entidad, vosotros existís
00:15:04
en el mundo real en el momento en el que
00:15:06
la realidad aparezca
00:15:08
si la realidad tangible
00:15:09
desaparece, desaparecís vosotros
00:15:13
pero la idea de alumno sigue ahí
00:15:14
lo que pasa es que como el mundo ha desaparecido
00:15:16
no hay más alumnos, pero si aparece otro mundo
00:15:18
podría volver a aparecer alumnos
00:15:21
respondiendo a esa idea
00:15:22
Vale, vale, obvio.
00:15:24
¿Vale?
00:15:25
Venga, pues ahora sí que paramos aquí.
00:15:27
Vale.
00:15:30
En la próxima clase vamos a...
00:15:31
- 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:
- 2
- Fecha:
- 3 de diciembre de 2025 - 12:05
- Visibilidad:
- Clave
- Centro:
- IES ROSA CHACEL
- Duración:
- 15′ 33″
- Relación de aspecto:
- 1.78:1
- Resolución:
- 1920x1080 píxeles
- Tamaño:
- 905.01 MBytes