Programación Orientada a Objetos (Parte 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:
Programación Orientada a Objetos (Parte 1)
Vamos a empezar con este nuevo apartado que es la programación orientada a objetos en Java.
00:00:07
Y antes de ver la parte de programación vamos a ver el concepto de programación orientada a objetos.
00:00:14
La programación orientada a objetos es una metodología o un paradigma que se basa en que a partir de la creación de clases
00:00:22
nosotros podemos tener instanciaciones de objetos basados en estas clases
00:00:34
y de este modo construir programas de forma más sencilla y más compleja a la vez
00:00:42
porque podemos dar una funcionalidad mucho más amplia a las aplicaciones con la programación orientada a objetos
00:00:50
Para entender qué es esto de las clases y los objetos vamos a poner un ejemplo muy sencillo y que todos conocemos
00:00:58
Imaginad un cubito de estos que se utilizan para jugar en la playa y que podemos llenar de arena
00:01:08
Este cubito una vez que esté lleno de arena si lo volcamos boca abajo pues obtenemos una forma similar a la del cubito original
00:01:16
Y esto podemos hacerlo tantas veces como queramos.
00:01:26
¿Qué tiene este ejemplo relacionado con la programación orientada a objetos?
00:01:32
Pues básicamente esto es una metáfora para indicar lo que es la programación orientada a objetos.
00:01:40
Si vemos que el cubito es capaz de crear distintas instancias del cubo original
00:01:45
y podemos decir que estas instancias del cubito original
00:01:52
que son las instancias de la clase
00:01:57
y el cubo original sería la clase en sí misma
00:01:59
es decir, es como si fueran copias de la clase original
00:02:03
la ventaja de hacer esto es que la clase se crea una única vez
00:02:07
con unas propiedades y con unos métodos
00:02:13
y todas las instancias de las clases
00:02:16
o de esa clase van a tener esas propiedades y esos métodos.
00:02:19
¿Cómo está construida una clase?
00:02:25
Pues las clases tienen como dos grandes bloques.
00:02:28
El primer bloque es los atributos o las propiedades
00:02:33
que son las que indican características de esa clase.
00:02:38
Aquí están enumeradas del 1 al n
00:02:42
y se supone que estos atributos que aquí están enunciados de forma teórica
00:02:45
pues van a pasar a tener algún tipo de formulación práctica en algún caso en el que realmente sea necesario.
00:02:50
El segundo grupo de elementos que se pueden encontrar en una clase son los métodos.
00:02:59
Los métodos están relacionados con las funcionalidades que esta clase podría realizar.
00:03:09
Para que podamos entender un poquito mejor este concepto
00:03:15
Vamos a crear un ejemplo de una clase coche que todos también conocemos
00:03:19
Esta clase coche podría tener unos atributos como el motor, la marca, el modelo, el color o el precio
00:03:24
Y podría tener unos métodos que fuesen arrancar el motor, parar el motor, girar a derecha, izquierda
00:03:33
O acelerar y frenar
00:03:41
Lo primero, las que están de color naranja son propiedades o atributos propias de una clase, de la clase coche, podría tener más o menos.
00:03:44
Y los segundos son funcionalidades, funciones o capacidades que puede tener esta clase coche.
00:03:54
Una vez que nosotros tengamos la clase coche creada, igual que hacíamos con el ejemplo del cubito de la playa, podemos tener instancias de esta clase.
00:04:01
De modo que podríamos tener el coche 1 que tuviera 1200 centímetros cúbicos, fuese de la marca 1, modelo 1, de color rojo y tuviese un precio concreto.
00:04:11
Si os fijáis los métodos tienen que ser los mismos porque los métodos al construirse la instancia de la clase las funcionalidades tienen que estar o se tienen que poder aplicar igual a este vehículo independientemente de sus atributos.
00:04:25
Tanto es así que si creamos otra nueva instancia de la clase coche
00:04:43
Pues como vemos lo único que variarán serán sus atributos
00:04:48
Pero los métodos seguirán de la misma forma
00:04:52
Podemos crear tantas instancias como queramos
00:04:56
Aquí tenemos otra nueva instancia del coche 3
00:04:59
En la que vemos que también cambian los atributos
00:05:02
Pero los métodos permanecen intactos
00:05:05
¿Cuáles son las características de la programación orientada a objetos?
00:05:12
Pues las características de la programación orientada a objetos es en primer lugar la abstracción.
00:05:16
La abstracción es la capacidad que pueden tener los programadores de poder adaptar una necesidad del mundo real a una necesidad en el mundo de la programación.
00:05:24
Es decir, si nosotros podemos llegar a traducir una necesidad que hay en el mundo real y podemos trasladarla a un programa, pues tenemos conseguida esa extracción.
00:05:37
En el ejemplo anterior que hemos estado hablando del coche, la abstracción sería la idea de un vehículo y el objeto o al final la clase que se puede derivar de esa abstracción sería la implementación de la clase tal y como la hemos visto en los ejemplos anteriores.
00:05:48
Otra propiedad importante de la programación orientada a objetos es la encasulación
00:06:08
La encasulación es fácil de entender porque básicamente quiere decir que nosotros podemos utilizar las clases y su funcionalidad
00:06:17
Pero no tenemos por qué saber cómo están construidas
00:06:26
Entonces la encasulación es convertir a la clase en una especie de caja negra
00:06:29
En la que nosotros le metemos unos datos por una parte y él nos da una funcionalidad por otra
00:06:35
La herencia es otra característica importante de la programación orientada a objetos
00:06:41
Esta se basa en que cuando nosotros tenemos clases no tenemos por qué tener todas las clases al mismo nivel
00:06:50
Es decir, podemos tener clases padre y clases hija
00:06:59
Esto es un concepto muy interesante porque cuando nosotros tenemos clases que heredan de otras clases no solamente es una herencia de palabrería por decirlo de alguna forma sino que realmente las clases hijas pueden heredar atributos y métodos de las clases padre.
00:07:03
de modo que cada clase hija podría tener los mismos atributos y métodos que la clase padre
00:07:23
y adicionalmente podrían aportar algunos atributos y métodos que sean característicos de las clases hijas
00:07:30
pero que no se pueden reflejar en la clase padre
00:07:39
esto quedará después un poquito más claro con un ejemplo que vamos a poner
00:07:41
y por último tendríamos el concepto del polimorfismo
00:07:45
El polimorfismo es una capacidad con el mismo método, con el mismo nombre de método, cuando se llame a objetos distintos, pues el comportamiento será diferente en función del objeto al que mandemos el mensaje para que se ejecute un método en concreto.
00:07:51
Vamos a centrarnos nosotros en este caso en la herencia, por eso la señalo de color amarillo y vamos a ver un ejemplo de lo que es la herencia.
00:08:13
Podemos imaginarnos como ejemplo de esta programación orientada a objetos y en el caso de la herencia de una clase principal o padre que fuera figura.
00:08:30
Esta clase padre figura es una clase que va a tener tres clases hijas que las tenéis ahí en pantalla y son la clase cubo, la clase esfera y la clase paralelepípedo.
00:08:41
Estas figuras pues obviamente van a poder heredar propiedades y métodos de la clase padre pero adicionalmente también podrán tener los suyos propios.
00:08:57
Vamos a ver cómo sería esto. La clase padre figura va a tener un nombre y un color y como propiedades y como métodos va a tener su área y su volumen, pero sin embargo estas este área y este volumen no van a tener ninguna implementación,
00:09:10
ya que al heredar las clases cubo, esfera y paralel epípedo cada uno de ellas hará sus implementaciones ya que los cálculos del área y del volumen son distintos en cada uno de estos tres elementos.
00:09:32
Así que aunque la herencia sea del nombre, el color, el área y el volumen después el método será implementado por cada clase hija de forma acorde a como tenga que funcionar en la realidad.
00:09:46
De esta forma la clase cubo hemos puesto de color negro, si os fijáis ahí las propiedades y los métodos que son heredados, en este caso el nombre y el color y el área y el volumen y de color rojo hemos puesto los que son propios de la clase cubo, un elemento propio de la clase cubo es el lado del cubo, así que por eso es una propiedad que tiene adicional esta clase.
00:09:59
Después tenemos también setLado y getLado que es para poder setear o establecer la longitud del lado o para obtener esa longitud del lado.
00:10:30
Lo mismo ocurre con la clase esfera.
00:10:41
En la clase esfera también vamos a tener un nombre y un color heredado y un área y un volumen también heredado de la clase padre figura,
00:10:44
pero adicionalmente esta particular tendrá como propiedad el radio y las propiedades setRadio y getRadio.
00:10:55
Por último tendremos la clase ParalelEpípedo, esta clase ParalelEpípedo pues como veis hereda el nombre y el color, adicionalmente incluye tres propiedades extra que son las longitudes de los lados A, B y C para poder después calcular el área y el volumen
00:11:05
y después el setDatos y getDatos que son métodos que van a ser implementados de forma adicional por la clase ParallelEPIP.
00:11:26
Por lo tanto, aunque la clase figura va a tener unas propiedades y unos métodos, digamos, estándar o unificados,
00:11:36
después cada una de las clases que heredan de la clase figura o que extienden de la clase figura
00:11:45
pues van a tener sus métodos propios y sus atributos propios.
00:11:52
Bueno, vamos a dejar este vídeo aquí y en un vídeo posterior vemos la implementación.
00:11:58
- Idioma/s:
- Materias:
- Sistemas Microinformáticos y Redes
- Niveles educativos:
- ▼ Mostrar / ocultar niveles
- Formación Profesional
- Ciclo formativo de grado básico
- Primer Curso
- Segundo Curso
- Ciclo formativo de grado medio
- Primer Curso
- Segundo Curso
- Ciclo formativo de grado superior
- Primer Curso
- Segundo Curso
- Ciclo formativo de grado básico
- Autor/es:
- Gerardo Ruiz Criado
- Subido por:
- Gerardo R.
- Licencia:
- Reconocimiento - No comercial
- Visualizaciones:
- 5
- Fecha:
- 9 de abril de 2026 - 16:41
- Visibilidad:
- Clave
- Centro:
- IES LA ARBOLEDA
- Duración:
- 12′ 06″
- Relación de aspecto:
- 1.78:1
- Resolución:
- 1920x1080 píxeles
- Tamaño:
- 217.84 MBytes