Activa JavaScript para disfrutar de los vídeos de la Mediateca.
Primeros pasos en Unity. POO parte 3 - 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:
Tercera parte de los 3 que componen una explicación sobre qué es la Programación Orientada a Objetos. Veremos los conceptos más teóricos que definen la POO
Para terminar voy a mencionar brevemente los paradigmas de los que se compone una programación orientada a objetos pero bueno ya nos metemos en un terreno un poco más teórico aunque no tenga una traslación práctica como la que hemos visto pero sí que es importante que lo tengamos en cuenta y de hecho algunos de los conceptos ya los he mencionado antes.
00:00:06
bien, pues las clases cuando hablamos de programación orientada a objetos
00:00:24
se suele decir que tiene estas propiedades básicas
00:00:28
la abstracción, el polimorfismo, la herencia y la encapsulación
00:00:31
los he puesto en inglés y con las primeras letras en mayúscula
00:00:35
pues para que entendamos el chiste
00:00:40
no es mío el chiste
00:00:41
se suele decir que la programación orientada a objetos
00:00:43
pues tiene las propiedades de una tarta de manzana
00:00:45
de un apple pie
00:00:49
las mencionaré brevemente y espero que con lo que hemos visto antes
00:00:50
se entiendan mejor. Una ya lo he comentado antes, que es la abstracción. Se trata de
00:00:54
que cuando declaramos una clase o cuando creamos una clase, tenemos que coger los atributos
00:00:59
que definan aquello que queremos construir. Lo que he dicho, si vamos a declarar una clase
00:01:03
de un coche, ¿qué lo define? Pues el color, el modelo, si está encendido o apagado. Pero
00:01:11
por ejemplo, si decimos, pues hay un coche que tiene una pegatina, digo, vale, pero esa
00:01:17
es una propiedad de ese coche en particular, no es una propiedad general, con lo cual no
00:01:20
lo tengo que meter en esta clase. Así que en programación eso es lo que se llama abstracción
00:01:25
a la hora de crear clases. Otro concepto del que hemos hablado antes, la encapsulación.
00:01:29
Ya hemos visto que cuando yo genero un objeto de una clase, tengo acceso a los atributos
00:01:35
de esa clase, pero el valor que les dé solo afectan a ese objeto. Así, si yo le doy un
00:01:39
nombre a mi cuenta o una fecha de creación del 10 del 10 del 10, se lo estoy dando a
00:01:45
ese objeto, pero no afecta para nada la fecha que le he dado a otro objeto, a otra instancia
00:01:51
de clase. Entonces, de nuevo, nos funcionamos como que cada objeto se encapsula y es independiente
00:01:55
del resto de objetos, aunque, por supuesto, tenga acceso a los parámetros de la clase
00:02:00
general. Por eso, también es importante cuando declaremos clases, y esto es importante en
00:02:04
Unity porque veremos que lo de crear variables públicas tiene un efecto secundario, y es
00:02:09
que cuando creamos un objeto o una clase, lo ideal es que sólo declaremos públicas
00:02:15
las variables que realmente necesiten ser públicas. Así evitamos errores, evitamos
00:02:22
que desde fuera alguien nos las cambie. Si yo necesito variables que sólo sirven para
00:02:28
moverme dentro de la clase y modificar parámetros dentro de la clase, lo suyo es hacerlas privadas.
00:02:32
Y bien, aquí menciono un tipo de variable muy específica, que son las estáticas, que las he mencionado antes, que podemos declararlas así, igual que podemos crear públicas y privadas, pues las podemos llamar estáticas.
00:02:38
¿Y qué significa? Como he comentado antes, imaginémonos que en nuestra clase de cuenta de ahorro hay una tasa de intereses que se aplican a todos los objetos.
00:02:54
¿qué ocurre? que si yo genero mil objetos de esa clase
00:03:02
y luego cambia el interés
00:03:06
y yo tengo que aplicarle ese cambio de interés a los mil objetos que he creado
00:03:09
pues es un rollo
00:03:12
tener que ir objeto por objeto cambiando esa variable
00:03:14
para eso existen las variables estáticas
00:03:16
donde se repica su valor en todos los objetos
00:03:18
y si yo lo cambio en un objeto solo
00:03:23
digo, oye, este objeto tiene una tasa de interés del 85%
00:03:25
pues automáticamente todos los demás objetos
00:03:29
se actualizan y se ponen también al 85%
00:03:32
lo cual es bastante cómodo
00:03:35
otro concepto que también hemos visto
00:03:36
aunque sea de pasada
00:03:38
que afecta a la programación orientada a objetos
00:03:39
es la herencia
00:03:42
imaginemos que creo yo una clase
00:03:43
y tiene sus atributos
00:03:45
imaginemos que luego quiero añadirle un atributo
00:03:48
a esa clase
00:03:50
pues a lo mejor he descubierto, como he dicho antes
00:03:51
que el coche que he dicho que tenía una pegatina
00:03:54
ahora resulta que sí, que todos los coches de este modelo
00:03:55
tienen una pegatina
00:03:58
en vez de modificar la clase principal
00:03:58
y añadirle ahí un atributo, lo cual significaría cambiar todos los objetos que he creado
00:04:01
y afectar mucho a mi código, pues lo que hago es crear una nueva clase.
00:04:05
Por ejemplo, le digo, nueva clase que se llame coches Subaru, que son los que llevan pegatina.
00:04:10
Y en vez de regenerar todos los atributos y todos los métodos que tiene la clase general,
00:04:17
la clase principal de coche, lo que le digo es que los herede.
00:04:21
Y le digo, mi clase coche Subaru hereda de la clase coche.
00:04:24
automáticamente en mi nueva clase tengo absolutamente todo disponible que tenía en la clase general
00:04:29
porque empieza a ser una subclase de esa clase, de esa superclase
00:04:34
pero eso sí, a esa clase nueva que he creado le puedo añadir nuevos atributos
00:04:38
de forma que cuando yo genere una subclase
00:04:41
podré accederle atributos que en la clase principal no tengo
00:04:46
y sin embargo en la subclase tengo disponible todos los atributos y todos los métodos que hay en la superclase
00:04:51
es decir, los hereda
00:04:56
En Unity hemos dicho que, por ejemplo, cuando indico que una clase, esta por ejemplo, hereda de otra clase, se indica con estos dos puntos.
00:04:58
Eso explica por qué en mi código tengo acceso a clases que yo no he declarado. ¿Por qué? Porque las ha heredado.
00:05:09
Y ya por último y para terminar voy a hablar del polimorfismo, que es quizá uno de los conceptos más abstractos
00:05:17
y no me importa que no se entienda del todo, que afecta a la programación orientada a objetos.
00:05:25
Y es que significa que los métodos que yo genero en una subclase,
00:05:29
es decir, que hereda los métodos de la clase, de la superclase,
00:05:36
pues yo puedo sobreescribir los métodos generales.
00:05:40
Imaginémonos, no sé, que yo he creado el método de encendido, como he dicho antes, en la clase coche.
00:05:43
y luego he creado una subclase llamada coche Subaru
00:05:49
que tiene unos atributos diferentes, por ejemplo el de pegatina, que no está en la superclase
00:05:53
pero el método encendido que funciona para la clase principal
00:05:58
no quiero que funcione igual en la subclase, entonces yo lo puedo sobrescribir
00:06:02
y de esa forma me creo un nuevo método con el mismo nombre
00:06:06
y ese método que yo he creado sobrescribe al de la superclase
00:06:10
y por lo tanto no lo hereda, sino que lo regenera, lo crea uno nuevo
00:06:14
Insisto, no es difícil o es un poco complejo de entender hasta que nos vemos en la necesidad de hacerlo
00:06:18
pero de momento que sepamos que existe
00:06:24
Esto, que a lo mejor ahora nos suena chino, me interesa que por lo menos nos quede revoloteando en la cabeza
00:06:27
y sobre todo que cuando empecemos a escribir el new lo que sea
00:06:33
una variable punto los atributos, una variable punto los métodos
00:06:38
por lo menos que sepamos de dónde viene y por qué
00:06:43
Y ya con el uso espero que podamos empezar a entender lo que es la programación orientada a objetos que de verdad que en el fondo no es tan complicado.
00:06:45
- Idioma/s:
- Materias:
- Programación
- Niveles educativos:
- ▼ Mostrar / ocultar niveles
- Formación Profesional
- Ciclo formativo de grado superior
- Primer Curso
- Segundo Curso
- Autor/es:
- Alvaro Holguera Gozalo
- Subido por:
- Alvaro H.
- Licencia:
- Reconocimiento - No comercial - Compartir igual
- Visualizaciones:
- 64
- Fecha:
- 11 de septiembre de 2025 - 20:39
- Visibilidad:
- Público
- Centro:
- CFP JOSÉ LUIS GARCI
- Descripción ampliada:
- Abstracción, Polimorfismo, Herencia y Encapsulamiento. Las cualidades que definen la POO
- Duración:
- 06′ 54″
- Relación de aspecto:
- 1.78:1
- Resolución:
- 1920x1080 píxeles
- Tamaño:
- 234.54 MBytes