Saltar navegación

Activa JavaScript para disfrutar de los vídeos de la Mediateca.

Primeros pasos en Unity. POO parte 1 - 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 11 de septiembre de 2025 por Alvaro H.

107 visualizaciones

Primera parte de los 3 que componen una explicación sobre qué es la Programación Orientada a Objetos. En este primero se introduce el concepto general.

Descargar la transcripción

Ahora que nos vamos a adentrar en la programación dentro de Unity, creo que es el momento ideal 00:00:06
para hacer una introducción a lo que es la programación orientada a objetos, ya que 00:00:11
es el sistema de programación que vamos a utilizar. Debo advertir que son conceptos 00:00:15
bastante abstractos, que quizá en un principio cuesta entenderlos, pero con el uso iremos 00:00:21
cogiendo soltura y a lo mejor, quién sabe, a lo mejor al final del curso decimos, ah, 00:00:28
ahora lo entiendo. Pero bueno, insisto, mejor empezar desde el principio. Mirad este vídeo 00:00:32
con atención e intentad no perder detalle y, como siempre, si hay dudas, pues contactad conmigo. 00:00:38
Empezaré diciendo que la programación orientada a objetos es un paradigma de programación. No es 00:00:43
que cambie la utilización de lo que hemos visto hasta ahora, de las estructuras de control, 00:00:48
de las variables, de los bucles... Bueno, pero sí que se plantea de otra forma y se plantea por 00:00:53
una sencilla razón. Como buen programador, pues uno siempre busca la eficiencia y la eficiencia 00:00:57
significa que mi código o mis fragmentos de código los puedan utilizar el siguiente 00:01:02
que venga de una forma fácil, que no tenga que estar buscando qué funciones ha creado, 00:01:06
qué variables ha creado, cómo se llaman, en fin. Entonces, para dar una especie de 00:01:11
cuerpo lógico a todo esto y que yo en cuanto me enseñen el diagrama de un programa o de 00:01:14
un script y vea cómo son sus clases, cuáles son sus atributos y cuáles son sus métodos, 00:01:20
yo automáticamente sé qué tengo que hacer con ellos y sobre todo cómo usarlos. En contraposición 00:01:24
con lo que hasta ahora hemos visto que es programación estructurada pues en la 00:01:30
programación estructurada no era más que líneas de código que se iban 00:01:34
ejecutando aquí no es exactamente así aunque sigue por supuesto ejecutándose 00:01:37
las líneas de código pero aquí se organiza de otra forma como mediante 00:01:41
clases y objetos a continuación veremos pues cada cosa y aparte de eso pues 00:01:45
infiere ciertas convenciones o ciertas formas de trabajar que son habituales en 00:01:50
cualquier lenguaje de programación orientado objetos lo cual facilita 00:01:56
mucho la tarea de cualquier programador a la hora de enfrentarse a un programa que no 00:01:59
es suyo, porque sabe lo que se va a encontrar. Y en ese sentido seguiremos unas convenciones 00:02:03
muy precisas y muy importante que cuando sepamos que estamos declarando un objeto, estamos 00:02:07
declarando un objeto o cuando estamos llamando al método de un objeto, pues sabemos lo que 00:02:11
estamos haciendo o lo que nos espera. De hecho hay muchos lenguajes que ya están orientados 00:02:15
a objetos y C-Sharp por supuesto es uno de ellos. 00:02:20
Para entender la programación orientada a objetos voy a partir de un ejemplo real, del 00:02:24
mundo real. Pensemos, por ejemplo, que yo trabajo en un banco y que cada vez que alguien 00:02:28
viene y abre una cuenta, pues yo tengo que realizar ciertas tareas. Por ejemplo, viene 00:02:33
alguien, abre una cuenta y yo le tengo que primero abrir esa cuenta, es decir, ya está, 00:02:38
he abierto una cuenta. Tengo que preguntarle algunas cosas al cliente. Para empezar, tengo 00:02:43
que determinar su nombre para ponerlo en la cuenta, la fecha en la que he abierto la cuenta. 00:02:47
Tengo que crear, por ejemplo, un número de cuenta. Tengo que poner un saldo en esa cuenta. 00:02:53
Ahora, eso son las variables de la cuenta, vamos a decirlo así. Es decir, son variables que se van a repetir en todas las cuentas. 00:02:58
De hecho, adelanto un concepto que es el de la abstracción, luego hablaremos de ello, que significa qué atributos o qué propiedades van a tener todas las cuentas. 00:03:05
No me interesa esta cuenta en concreto, que a lo mejor tiene un plan de pensiones, o sea, que es muy poco típico, pero que esta lo tiene. 00:03:14
No, esa no me interesa. Lo que me interesa son las propiedades que tienen todas las cuentas. 00:03:19
Lo que he dicho, saldo, número de cuenta, fecha de apertura, en fin. Pues ya tengo eso, pero luego resulta que como trabajador del banco hay ciertas tareas que estoy repitiendo constantemente. 00:03:22
Por ejemplo, cada vez que viene un cliente y retira un saldo o retira un dinero, pues yo tengo que actualizar el saldo. Tengo que entrar en la cuenta, seguir unos procedimientos para entrar en esa cuenta, 00:03:34
restar el saldo que me han, o restar la cantidad de dinero que ha sacado el cliente, 00:03:45
restárselo al saldo general, actualizar la variable de saldo, 00:03:49
acordémonos que esa es una de las variables o atributos que tiene esa cuenta. 00:03:52
Es decir, hemos realizado unas tareas que son repetitivas. 00:03:57
¿Y qué hacemos cuando tenemos unas tareas o una serie de actividades o de funciones 00:04:01
que se repiten constantemente? Pues efectivamente, declarar una función. 00:04:06
Que en programación orientada a objetos se llama métodos. 00:04:10
A partir de ahora lo llamaremos siempre métodos. 00:04:13
Así que tenemos una cuenta de banco con unas variables que se repiten en todas las cuentas 00:04:16
y con unos métodos que también se repiten en todas las cuentas. 00:04:22
Los métodos, como buenas funciones que son, pueden exigir variables, 00:04:26
en el caso que hablábamos del saldo, cuánto dinero voy a sacar, o retornar variables. 00:04:31
Por ejemplo, si tengo que actualizar el saldo, me tiene que devolver cuál es el saldo final 00:04:34
y entonces yo lo actualizo. 00:04:40
En fin, o bueno, o a lo mejor si la variable del saldo la tiene ya disponible el método, pues ni siquiera me lo tiene que devolver, él se encarga de hacerlo todo y yo no pregunto, que eso es otra de las cuestiones que veremos cuando hablemos de los conceptos de programación orientada a objetos, es que lo ideal es que él, la clase o lo que estamos haciendo haga cosas si yo saber muy bien cómo las hace, ¿vale? 00:04:41
Eso es lo que se llama una estructura de caja negra, que es, mira, yo sé lo que te tengo que dar, yo sé lo que me vas a devolver, pero cómo lo hagas internamente es cosa tuya. 00:05:03
Eso facilita de nuevo también las tareas de un programador. 00:05:12
Siguiendo ese ejemplo que hemos visto, esto que tenemos aquí, la cuenta bancaria, sería la clase. 00:05:15
Es decir, declaramos una clase, por cierto, ya empezaremos a hablar con propiedad, 00:05:23
Es decir, las clases, cuando las declaremos por convención, van con la primera letra mayúscula para diferenciarlo de las variables, por ejemplo. 00:05:29
Y a partir de ahí empezamos a asignar ciertos atributos. 00:05:37
Estos atributos los va a tener todas las cuentas que yo abra. 00:05:41
Pero aparte de eso hemos dicho que teníamos unos métodos. 00:05:45
¿De acuerdo? Aquí están. 00:05:48
Ahí yo creo que le faltan unos paréntesis para indicar que esto es un método, pero bueno. 00:05:50
Y esas son las actividades que realiza la clase. 00:05:53
Ya tenemos nuestra clase definida y es muy importante cuando nos ponemos a trabajar en programación orientada a objetos pensar las clases, pensarlas muy bien hasta que decimos, vale, estas son las clases, estos son sus atributos generales y estos son los métodos. 00:05:55
¿Ahora qué hago? Pues siguiendo el ejemplo de la cuenta bancaria 00:06:08
tengo la clase que es cuenta bancaria 00:06:11
y cada vez que abro una nueva 00:06:13
lo que se llama es que creo un objeto 00:06:16
a partir de esa clase 00:06:18
son lo que se llaman instancias de clases 00:06:19
es como repetirlas 00:06:22
no es clonarlas porque no las repito 00:06:24
ahí está la magia de la programación orientada a objetos 00:06:26
no es que coja esto y lo repita una y dos y tres veces 00:06:28
no, no, no, es que lo instancio 00:06:31
es decir, creo una instancia 00:06:33
con su propio nombre 00:06:35
genera las mismas variables genera los mismos métodos que están en la clase es 00:06:37
decir puedo acceder a ellos pero sus variables son propias es decir que una 00:06:42
cuenta tendrá un número de cuenta y un objeto de cuenta tendrá un número de 00:06:46
cuenta y otro objeto de cuenta tendrá otro número de cuenta y no se molestan 00:06:50
entre ellas que es otro de los conceptos que veremos en programación orientada 00:06:54
objetos que es el encapsulamiento que las propiedades de un objeto no 00:06:57
interfieren para nada en las propiedades de otro objeto así que puedo tener mil 00:07:00
objetos de la misma clase mil cuentas bancarias a partir de una sola clase de cuenta bancaria 00:07:04
ahí podríamos tener creado un objeto a partir de la clase que hemos visto antes y tiene como 00:07:09
podemos ver sus variables de clase pero que tienen sus propios valores que son diferencias de otro y 00:07:15
por supuesto tengo acceso como vemos ahí faltaban unos paréntesis como vemos tengo acceso a las 00:07:21
los métodos de la clase principal por cierto declarar que esta forma de representar las 00:07:26
clases sigue el Unified Modeling Language, que es decir, la forma en la que se representan 00:07:32
las clases, porque cuando un programador hace un diagrama de sus clases, pues tiene que 00:07:37
seguir ciertas normas, entonces están especificadas en ese lenguaje. Muy bien, sin abogobiarnos 00:07:41
mucho, pongo aquí un ejemplo, nada de falta que lo entendamos de todo, pero pongamos aquí 00:07:47
un ejemplo de lo que sería una clase ya en código. Por ejemplo, vamos a pensar que yo 00:07:51
voy a declarar una clase coche, es decir, necesito instanciar coches, y lo que hago 00:07:56
es, como decíamos, abstraer, obtener los atributos generales de un coche. Por ejemplo, 00:08:01
el color, todos los coches tienen color, el modelo, todos lo tienen. Incluso puedo crear 00:08:08
variables booleanas. He de recordar que todas las variables tienen que tener un tipo de 00:08:15
variable. En este caso puedo decir si un coche está encendido o apagado. Y puedo incluso 00:08:20
crear un método que diga, pues voy a crear un método para que una vez que cree el objeto 00:08:26
de un coche lo pueda poner en marcha. Y lo mismo podría crear un método para pararlo. 00:08:29
Pues bien, esto sería mi clase, con sus atributos y sus métodos. 00:08:34
¿Cómo genero objetos? Pues bien, cada lenguaje de programación 00:08:38
tendrá su propio sistema de crear o de instanciar las clases. 00:08:41
Pero bueno, veremos que es muy habitual, y nosotros de hecho lo haremos así, 00:08:45
llamando a esta sintaxis. 00:08:49
Pero bueno, C Sharp tiene sus peculiaridades y las vamos a ver ahora mismo. 00:08:54
Y una vez que he creado una variable, muy importante, esta variable no es una variable como las que hemos visto antes, no es una variable string, no es un boolean, no es un integer, no, no, no, es un objeto. 00:08:56
¿De qué clase? De esta clase. 00:09:10
¿Qué significa? Que ahora mismo esta variable, como podemos ver más abajo, tiene accesibles los atributos y tiene accesibles los métodos. 00:09:13
Es decir, que si yo escribo el nombre de la variable y a continuación un punto, muy importante, así es como accedemos a los atributos o a los métodos que tenemos en la clase de donde viene este objeto, 00:09:23
pues a continuación ponemos el atributo y le asignamos un valor. 00:09:33
Es decir, que ahora mismo mi coche es un objeto de la clase coche, su atributo color que está declarado aquí en la clase coche, ahora es rojo, pero es rojo el de este objeto. 00:09:37
Si genero otro objeto nuevo, podría asignarle otro color. 00:09:51
Y, por supuesto, le puedo decir que se ponga en marcha. 00:09:55
Como podemos ver, por ejemplo, el método de ponerse en marcha, ¿qué es lo que hace? 00:09:58
Cambiar el atributo de encendido a true, que por defecto venía en false. 00:10:05
¿Qué significa? Que en este objeto, al llamar al método ponerse en marcha, lo que ha hecho es cambiar el atributo encendido a true. 00:10:10
Es decir, que tengo un coche rojo y que ahora mismo está encendido. 00:10:19
Bien, ya sé que esto puede sonar un poco achino y cuesta al principio, 00:10:22
pero tenemos que empezar a verlo de esta forma. 00:10:27
Es decir, tenemos unas clases disponibles para nosotros 00:10:29
y que las podemos llamar e instanciar y meterlas en una variable nuestra. 00:10:32
Y dentro de esa variable, pues de nuevo tenemos accesibles sus atributos 00:10:36
y empezamos a jugar con ellos. 00:10:38
Sus atributos, sus métodos, en fin. 00:10:40
De todas formas, el entorno de desarrollo que usemos seguramente nos ayude. 00:10:42
Nos diga qué atributos tiene o qué métodos podemos llamar a ese objeto que instancia la clase a la que está instanciando. 00:10:46
Idioma/s:
es
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:
107
Fecha:
11 de septiembre de 2025 - 20:35
Visibilidad:
Público
Centro:
CFP JOSÉ LUIS GARCI
Descripción ampliada:
Descripción breve sobre la Programación Orientada a Objetos
Duración:
10′ 53″
Relación de aspecto:
1.78:1
Resolución:
1920x1080 píxeles
Tamaño:
413.93 MBytes

Del mismo autor…

Ver más del mismo autor


EducaMadrid, Plataforma Educativa de la Comunidad de Madrid

Plataforma Educativa EducaMadrid