20241129 POO-Clases_2 - 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:
A ver, bueno, pues esto está claro.
00:00:00
Aquí el Paco está claro que está, vamos.
00:00:02
Vale, entonces, creamos, este ya es el programa de ejecución,
00:00:09
que creamos tantos profesores como queramos.
00:00:11
¿Que nos interesa otro profesor?
00:00:14
Pues venga, esta aplicación va a trabajar con dos profesores.
00:00:16
Pues mi profesor 2.
00:00:19
Ya de paso que declaro la variable,
00:00:21
ya lo que normalmente hacemos,
00:00:23
ya inicializarla con el espacio correspondiente.
00:00:25
Profesor
00:00:28
Bueno, teniendo en cuenta lo que cobra
00:00:29
Se le permite todo
00:00:34
Al profesor2 este, pues ya le ponemos
00:00:35
Un nombre, vale
00:00:39
Y ya mi aplicación
00:00:40
Tendría dos profesores
00:00:46
Con los que puede
00:00:47
Hacer lo que le dé la gana
00:00:50
Lo que pida
00:00:52
Vale, pues en tiempo de ejecución
00:00:53
Aquí tendríamos dos instancias
00:01:10
Dos objetos
00:01:12
el nombre del objeto es el nombre
00:01:12
de la variable, el que a uno le dé la gana
00:01:15
el tipo
00:01:17
el nombre de la clase
00:01:19
entonces es un tipo que hemos construido
00:01:21
nosotros
00:01:23
y es un tipo pues complejo que tiene
00:01:24
dentro unos cuantos primitivos
00:01:27
vale
00:01:29
y este operador, el operador
00:01:30
puntito, es el que me permite
00:01:33
acceder a cada una de las casillitas
00:01:35
y accedo con el nombre
00:01:37
que haya puesto en la clase
00:01:39
lógicamente el nombre que pongo aquí
00:01:41
es esto
00:01:43
NIF
00:01:45
se refiere a esta variable
00:01:46
sueldo se refiere a esta
00:01:48
¿cobra más?
00:01:52
sí, sí
00:01:53
ustedes son pesos colombianos
00:01:55
o no es el peso lo que se usa en Colombia
00:01:58
no cobra
00:02:00
una semana vives
00:02:03
Bueno, pues el pobre Fernando
00:02:09
O llama al Brian que le haga algún apaño
00:02:19
O no come esta semana
00:02:22
Vale, y ahora ya con estos objetos se hace lo que quiera
00:02:23
Por ejemplo, ¿qué profesor gana más?
00:02:31
Pues si profesor
00:02:35
Uno, punto sueldo
00:02:37
Esto ya trabajo con ello como cualquier otra variable
00:02:39
Es mayor que el sueldo del profesor 2
00:02:44
Y efectivamente el eclipse
00:02:48
En cuanto das al punto ya te muestra todo lo que tiene dentro
00:02:52
Que todo eso que está dentro de equals to string
00:02:56
Ya lo entenderemos porque esto tiene que ver con la herencia
00:02:58
Cuando ya veamos la herencia de clases
00:03:01
Ya entenderemos todo eso que aparece ahí
00:03:04
Vale, y ahora ya uno hace lo que le dé la gana.
00:03:11
Sí, bueno, ya son variables normales.
00:03:21
Claro, ya son variables normales y ya el código hace lo que tenga que hacer.
00:03:23
Entonces, lo único que hemos incorporado con esto de las clases hasta ahora es
00:03:27
crear un tipo nuestro propio, un tipo de datos
00:03:30
que se pone de varias propiedades pequeñitas.
00:03:33
Entonces, pongámonos en contexto que ese tipo de datos propio que hemos creado
00:03:37
se supone que está en relación a una de las entidades que mi aplicación gestiona.
00:03:42
Uno no decide las clases como le petan.
00:03:48
Analiza bien la aplicación.
00:03:51
Dice, va a trabajar con...
00:03:53
¿De qué os reís? ¿De que es un lenguaje muy anticuado?
00:03:54
No, no, no.
00:03:56
Bueno.
00:03:57
Entonces, uno
00:04:00
analiza la aplicación. Dice, va a trabajar con
00:04:02
profesores, departamento, no sé cuántos.
00:04:04
Pues hace sus entidades.
00:04:06
Decide cada entidad qué propiedades
00:04:08
interesan para caracterizar
00:04:10
al profe, lo que sea. Hace las
00:04:12
clases. Y luego ya
00:04:14
hará una aplicación
00:04:16
Con un método main
00:04:18
Que haga lo que tenga que hacer
00:04:19
Vale, entonces
00:04:21
Esta aplicación tiene dos profesores
00:04:23
Bueno, pues nada
00:04:25
Vamos a hacer
00:04:27
Que hace
00:04:28
AppProfesores2
00:04:31
Para tener otro main
00:04:36
Vale, como lo había estudiado en la virtual
00:04:38
Lo pongo aparte
00:04:46
Vale, me he hecho otra clase con otro main
00:04:47
Vale, pues entonces
00:04:49
Ahora, si nuestra aplicación fuera
00:04:50
Solicitar datos de
00:04:52
Cuatro profesores
00:04:58
Vale
00:05:00
¿Qué vamos a hacer después?
00:05:02
Mostrar el que más gana
00:05:07
Esta es la primera funcionalidad que tiene que hacer
00:05:09
Y la otra
00:05:11
Funcionalidad que tiene que hacer
00:05:12
Pues tiene que
00:05:14
Subir el sueldo
00:05:16
Un 10%
00:05:21
A todos los que
00:05:24
Ganen menos de la media
00:05:27
Vale, y luego
00:05:31
Posteriormente mostrar
00:05:35
Los nuevos sueldos
00:05:37
Vale, pues mi aplicación
00:05:39
Tiene que hacer esto, me han dicho
00:05:43
Oye, tengo cuatro profesores
00:05:44
Entonces desgraciadamente
00:05:47
Nosotros ahora
00:05:49
La única manera que tenemos de meterle datos al programa
00:05:50
La única
00:05:53
es que haya un tío sentado delante
00:05:54
metiéndoselos así por el teclado.
00:05:56
Solo tenemos esa.
00:05:59
Más adelante, pues ya veremos
00:06:01
cómo podemos recibir esa aplicación
00:06:03
desde ficheros, desde bases de datos,
00:06:05
desde donde sea.
00:06:08
Pero ahora mismo,
00:06:09
los profesores con los que trabaja nuestra aplicación
00:06:11
tiene que haber alguien aquí sentado
00:06:13
cuando se ejecuta la aplicación para metérselos.
00:06:15
No hay otra.
00:06:17
Pues eso es lo primero que hay en la aplicación,
00:06:19
la carga de los datos.
00:06:21
¿vale? repito, un rollo porque
00:06:22
en nuestros ejemplos, todos prácticamente
00:06:24
de todo el curso, la carga
00:06:26
de los datos va a ser online
00:06:28
en tiempo real, no podemos
00:06:30
cargarla desde una base de datos, es una pena
00:06:32
bueno, pues primero, carga de los
00:06:33
datos, PPP, esos son mis cuatro profes
00:06:36
bla bla bla, ahora mi aplicación
00:06:38
el que más gana es Pepito
00:06:40
te he subido 10%
00:06:42
a los que ganan menos de la media
00:06:44
y ahora te muestro los nuevos sueldos
00:06:46
eso tiene que hacer, bueno
00:06:48
vale, datos de 4
00:06:49
podríamos hacer profesor 1, profesor 2, profesor 3
00:06:52
profesor 4, claro, pero si cambia
00:06:54
la aplicación y te dice, uy mi instituto
00:06:56
ha crecido, ahora tiene 3000
00:06:58
pues claro, profesor 1, profesor 2
00:06:59
lo ideal sería que hiciéramos un array
00:07:01
pero ahora este array no va a ser
00:07:04
de int, este array va a ser de
00:07:06
profesor
00:07:08
vale
00:07:09
entonces, declaramos el array
00:07:10
y luego ya el resto lo hacéis ahora vosotros
00:07:14
a ver, vale, entonces
00:07:16
Como van a ser cuatro profes
00:07:18
Repito, no vamos a declarar
00:07:20
Cuatro variables sueltas, como antes
00:07:23
Profesor1
00:07:25
Igual a new profesor
00:07:29
Y esto cuatro veces
00:07:30
No, porque esto
00:07:32
Si luego me cambian a mil, pues ¿qué hago?
00:07:34
Escribirlo mil veces
00:07:39
Sí, y luego para cada uno
00:07:40
Mil líneas
00:07:43
Vale, entonces no
00:07:43
Hombre
00:07:45
tú no vas a ganar nunca como pasa
00:07:48
eso es desafiante, copiar y pegar
00:07:50
si es un programa
00:07:54
para la educación y tal
00:07:57
para el gobierno, pues hay días que pese
00:07:58
bueno, pues no lo hagáis así
00:08:00
tú quieres sabotear al gobierno
00:08:02
eso es verdad
00:08:05
bueno
00:08:10
está grabando
00:08:11
luego cuando tengas que ir a pedir trabajo
00:08:13
Uy, se te reconoce por la voz rápida
00:08:16
Venga, a ver
00:08:19
Entonces, un profesor solo no vale para nada
00:08:24
Es una variable
00:08:26
Entonces, ¿qué vamos a hacer?
00:08:27
Pues en lugar de declarar una única variable
00:08:29
Una única
00:08:32
Jolín, estoy muy ágil
00:08:34
Ahí
00:08:37
Vamos a declarar un array
00:08:38
Pues ya está, un array, punto pelota
00:08:40
Hombre, uno puede declarar un array
00:08:42
De lo que le dé la gana
00:08:45
destint, destrin
00:08:46
pues en nuestro caso va a ser un array
00:08:49
de objetos profesor
00:08:50
claro, pero que pasa cuando hacemos
00:08:52
un array, cuando hacemos
00:08:55
un array, nunca se nos tiene que olvidar
00:08:56
crear el espacio del array
00:08:59
entonces ahora vamos a crear el espacio del array
00:09:01
los profesores ya los crearemos
00:09:03
después, ahora el espacio
00:09:05
claro, entonces como se creaba
00:09:07
un espacio para un array
00:09:09
new el tipo de dato
00:09:10
y cuantos queremos, queremos 4
00:09:12
he puesto 4 porque si los tenéis que meter a mano
00:09:14
vais a aburrir mucho, vale
00:09:16
entonces ahora ya que tenemos, tenemos
00:09:20
profesor 0, profesor 1, profesor 2
00:09:21
profesor 3, pero
00:09:24
esos, ahora mismo
00:09:26
todavía no tienen nada adentro
00:09:27
con esta primera línea que he hecho
00:09:30
yo
00:09:34
he creado esto
00:09:34
un array
00:09:37
apuntado por
00:09:39
a ver
00:09:42
he creado todo esto
00:09:43
mi variable profesor es array
00:09:45
profesores
00:09:48
vale, mi variable profesores
00:09:53
esta es
00:09:55
la variable profesores
00:09:57
que ya
00:09:59
al haber creado el espacio
00:10:00
new profesor 4, al haber creado el espacio
00:10:02
ya me he creado
00:10:05
esto de aquí
00:10:06
con 4
00:10:08
y aquí tendré profesores 0, profesores 1
00:10:10
profesores 2, profesores 3
00:10:16
llamémoslo de forma genérica
00:10:17
profesores i
00:10:19
vale
00:10:21
¿Vale? Profesores sí es cada uno de estos
00:10:26
Ahora
00:10:30
¿No? Pero claro
00:10:30
Profesores sí
00:10:33
Es como el profesor uno antiguo
00:10:34
Que si no hacíamos el new después
00:10:37
Cada uno de estos, ahora mismo
00:10:38
Es una dirección de memoria
00:10:41
Que te lleva a nul
00:10:43
No apunta nada
00:10:45
Claro, efectivamente
00:10:46
Ahora mismo, lo único que hemos hecho aquí es
00:10:52
A ver si me sale del
00:10:55
Marco
00:11:00
Lo único que hemos hecho es
00:11:01
Un montón de casillitas
00:11:04
Con profesores 0
00:11:09
Profesores 1, profesores 2, profesores 3
00:11:10
Pero cada una de ellas todavía apunta nul
00:11:13
El profesor no está creado
00:11:14
Vale, entonces ahora ¿qué nos faltará?
00:11:16
Nos faltará
00:11:19
Ahora
00:11:21
Recorrer el array, como siempre
00:11:22
Para cada igual a 0
00:11:24
Mientras si sea menor que
00:11:27
Bueno, profesores
00:11:28
No sé para qué le... profesores
00:11:30
mientras i sea menor que
00:11:31
profesores.lens
00:11:34
incrementando i
00:11:37
ahora ya
00:11:39
a profesores de i
00:11:40
ahora ya le asigno
00:11:43
un espacio de memoria
00:11:45
ahora ya sí
00:11:48
a cada uno de ellos
00:11:50
profesores 0, profesores 1, profesores 2
00:11:53
le estamos asignando
00:11:55
ahora ya sí un espacio de memoria
00:11:57
con sus tres casillitas
00:11:58
a cada uno de ellos
00:12:00
Ahora ya sí que tendremos esto
00:12:01
¿Vale?
00:12:06
Y ya el null pues no estará
00:12:09
Pero como no tengo borrador
00:12:13
Así que está aquí
00:12:15
Bueno, me estoy haciendo la maga del paint
00:12:17
Me dan ganas de conservar este dibujo
00:12:23
¿Vale? Ahora ya sí
00:12:26
Y ahora ya cada una de estas casillitas
00:12:28
A su vez, lógicamente, tiene
00:12:30
Apartado para sus tres propiedades
00:12:32
Pues todo
00:12:35
todo esto tenemos en
00:12:41
memoria
00:12:47
vale, ahora tenemos cuatro
00:12:49
profesores distintos, este
00:12:55
primero apuntado por profesores cero
00:12:57
este por profesores uno, profesores dos
00:12:59
profesores tres
00:13:01
vale, el nombre de este
00:13:02
será profesores cero punto nombre
00:13:05
el sueldo del que está aquí
00:13:07
profesores uno punto sueldo
00:13:09
¿no? bueno pues
00:13:11
ahora ya es cuando os digo, venga
00:13:15
Pues a ver si podéis hacer estas tres funcionalidades
00:13:17
Mostrar el nombre del profesor que más gana
00:13:21
Esto de subir el sueldo y mostrar los nuevos sueldos
00:13:25
¿Vale?
00:13:30
Pues venga
00:13:34
- 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:
- 16
- Fecha:
- 1 de diciembre de 2024 - 19:33
- Visibilidad:
- Clave
- Centro:
- IES ROSA CHACEL
- Duración:
- 13′ 35″
- Relación de aspecto:
- 1.78:1
- Resolución:
- 1920x1080 píxeles
- Tamaño:
- 53.11 MBytes