COMO USAR LA PROGRAMACION ORIENTADA A OBJETOS - DESDE CERO
Summary
TLDREste video introduce la Programación Orientada a Objetos (POO), un paradigma fundamental para solucionar problemas de programación de manera eficiente y estructurada. A través de ejemplos claros, el video explica conceptos básicos como clases, objetos, métodos y atributos, además de profundizar en principios avanzados como herencia, polimorfismo, abstracción y encapsulamiento. Destaca la importancia de la POO para escribir código reutilizable y fácil de mantener, crucial para el desarrollo de software moderno. Ideal para principiantes, este tutorial sienta las bases para comprender y aplicar la POO en diferentes lenguajes de programación, promoviendo un aprendizaje práctico y teórico.
Takeaways
- 🔑 La programación orientada a objetos (POO) es un paradigma que utiliza objetos como bloques iniciales para construir soluciones de software, extraídos del mundo real.
- 👍 La POO permite escribir código más rápido, reutilizarlo y facilitar la resolución de problemas.
- 🧱 Los conceptos clave de la POO son: clases, propiedades, métodos y objetos.
- 👪 Una clase es una colección de objetos del mismo tipo que comparten características similares.
- 📋 Los objetos tienen atributos (características) y métodos (acciones o comportamientos).
- 🌳 La herencia permite crear nuevas clases a partir de otras, reutilizando el código existente.
- 🎭 El polimorfismo permite que objetos diferentes respondan de forma distinta al mismo método.
- 🥊 La abstracción consiste en describir las características principales de un objeto, sin entrar en detalles.
- 🔒 El encapsulamiento oculta datos y métodos, clasificándolos como públicos (accesibles) o privados (restringidos).
- 🌐 Lenguajes como Java, PHP, JavaScript, Python y C# implementan la programación orientada a objetos.
Q & A
¿Qué es la programación orientada a objetos (POO)?
-La programación orientada a objetos es un paradigma de programación que tiene como objetivo resolver problemas mediante el uso de objetos que son extraídos del mundo real. Estos objetos representan entidades únicas que nos ayudan a solucionar un problema determinado.
¿Por qué es importante aprender la programación orientada a objetos?
-Es importante aprender la programación orientada a objetos principalmente porque nos ayuda a escribir código de forma más rápida y productiva, y además permite reutilizar el código, lo que evita tener que escribir el mismo código repetidamente.
¿Cuáles son los conceptos fundamentales de la POO?
-Los conceptos fundamentales de la programación orientada a objetos son las clases, propiedades (atributos), métodos y objetos. Estos elementos se utilizan para representar y manipular los objetos del mundo real dentro del código.
¿Qué es un objeto en la POO?
-Un objeto en la programación orientada a objetos es una entidad o representación de una entidad del mundo real. Tiene atributos que lo definen y métodos que representan sus acciones o comportamientos.
¿Qué son las clases en la POO?
-Una clase es una colección o agrupación de objetos del mismo tipo. Los objetos dentro de una clase comparten características y métodos similares, aunque no necesariamente tienen que ser idénticos.
¿Qué es la herencia en la POO?
-La herencia es un mecanismo que permite crear nuevas clases a partir de otras clases existentes, reutilizando el código de la clase original (superclase) y agregando o modificando características en las nuevas clases (subclases).
¿Qué es el polimorfismo en la POO?
-El polimorfismo es la capacidad que tienen algunos lenguajes de programación para invocar el mismo método desde distintos objetos, pero obteniendo resultados diferentes según la implementación específica de cada objeto.
¿Qué es la abstracción en la POO?
-La abstracción consiste en describir las principales características de un objeto, sin entrar en detalles innecesarios. Se trata de identificar y utilizar solo los atributos y métodos esenciales para el problema que se está resolviendo.
¿Qué es el encapsulamiento en la POO?
-El encapsulamiento es un mecanismo que permite ocultar los datos y métodos internos de un objeto, limitando su acceso desde el exterior. Esto se logra mediante la definición de métodos públicos y privados dentro de una clase.
¿Cuáles son algunos de los lenguajes de programación que utilizan la POO?
-Algunos de los lenguajes de programación más populares que utilizan la programación orientada a objetos son Java, Python, C++, C#, Ruby, JavaScript y PHP, entre otros.
Outlines
📘 Introducción a la Programación Orientada a Objetos
Este segmento presenta una introducción a la Programación Orientada a Objetos (POO), destacando su importancia y ventajas sobre la programación estructurada. Se enfatiza cómo la POO permite un desarrollo de software más eficiente mediante el uso de objetos que representan entidades del mundo real, facilitando así la escritura, mantenimiento y comprensión del código. Se menciona que la POO surge como respuesta a las limitaciones de la programación estructurada, especialmente en lo que respecta a la gestión de grandes volúmenes de código y la necesidad de adaptarse a los cambios tecnológicos.
🔍 Exploración de Objetos y Atributos
Se detalla cómo los objetos y sus atributos son la piedra angular de la POO, clasificando los objetos en físicos, psíquicos e ideales. Los objetos físicos son tangibles y perceptibles por los sentidos, mientras que los objetos psíquicos se relacionan con experiencias internas como el dolor. Los objetos ideales, como los Pokémon o figuras geométricas, existen en la imaginación y sirven para modelar conceptos abstractos en el software. Este párrafo subraya la diversidad de objetos que pueden ser modelados en POO, resaltando la flexibilidad y capacidad de abstracción de este paradigma.
🚀 Clases, Instancias y Encapsulamiento
Se introduce el concepto de clases como plantillas para crear objetos con características y métodos comunes, y las instancias como representaciones concretas de estas clases. Se ejemplifica con clases de animales y hoteles, mostrando cómo cada instancia tiene atributos específicos y cómo la POO facilita la organización y reutilización del código mediante la agrupación de objetos en clases. Además, se menciona la importancia de las operaciones o métodos que definen el comportamiento de los objetos.
🌟 Métodos y Manipulación de Atributos
Este apartado se enfoca en los métodos, especialmente en los métodos inicializadores, get y set, que permiten interactuar con los atributos de un objeto. Los métodos get y set juegan un papel crucial en el acceso y modificación de los atributos, mientras que el método inicializador es fundamental para establecer los valores iniciales de los objetos. Se utilizan ejemplos como clases de Pokémon y discos para ilustrar cómo estos métodos contribuyen a la estructura y funcionalidad de los programas en POO.
🧩 Herencia y Polimorfismo
Se abordan dos conceptos clave en POO: la herencia y el polimorfismo. La herencia permite la creación de nuevas clases basadas en otras, facilitando la reutilización del código y la organización jerárquica de las clases. Se ejemplifica con clases relacionadas con personas, empleados y clientes. El polimorfismo se explica como la capacidad de un método para realizar acciones diferentes dependiendo del objeto que lo invoque, ilustrando con el ejemplo de figuras geométricas cómo diferentes objetos pueden compartir un método pero implementarlo de manera única.
🔑 Abstracción y Encapsulamiento
Este segmento cubre los conceptos de abstracción y encapsulamiento. La abstracción se describe como el proceso de enfocarse en las características esenciales de un objeto, ignorando los detalles irrelevantes. Por otro lado, el encapsulamiento se refiere a la ocultación de los detalles de implementación de los objetos, permitiendo una interfaz simplificada al exterior. Se utiliza el ejemplo de un automóvil para ilustrar la abstracción de sus características principales y el encapsulamiento de su funcionamiento interno.
👩💻 Aplicación de la POO en Diversos Lenguajes de Programación
Se concluye discutiendo la universalidad de la POO en diversos lenguajes de programación como Java, PHP, JavaScript y Python, destacando cómo cada uno implementa los principios de POO de manera única, pero manteniendo la esencia de este paradigma. Se menciona la importancia de la POO para el desarrollo de software moderno y cómo facilita la escritura de código estructurado, reutilizable y fácil de mantener. Además, se anima a los espectadores a seguir explorando la POO en diferentes lenguajes para aprovechar sus beneficios en proyectos de software.
Mindmap
Keywords
💡Programación Orientada a Objetos
💡Objeto
💡Clase
💡Atributo
💡Método
💡Herencia
💡Polimorfismo
💡Abstracción
💡Encapsulamiento
💡Instancia
Highlights
Introducción a la programación orientada a objetos para comprender sus bases de manera directa y corta.
La programación estructurada se vuelve obsoleta ante las necesidades de tener código más corto y mantenible.
Definición de programación orientada a objetos como paradigma para resolver problemas con modelos basados en el mundo real.
Importancia de aprender programación orientada a objetos: permite escribir código más rápido y reutilizarlo.
Conceptos fundamentales de la programación orientada a objetos: clases, propiedades, métodos y objetos.
Explicación de qué es un objeto en programación orientada a objetos, utilizando ejemplos del mundo real.
Clasificación de objetos en físicos y psíquicos para entender su representación y uso en la programación.
Introducción a los objetos ideales, derivados de la imaginación y cómo se representan en código.
La importancia de las clases como agrupaciones de objetos del mismo tipo para estructurar soluciones.
Diferencia entre instancias de clase y cómo se generan objetos específicos a partir de una clase.
Explicación de métodos dentro de la programación orientada a objetos y su rol en la manipulación de datos.
El concepto de herencia para reutilizar código y crear clases nuevas a partir de otras.
Polimorfismo como capacidad de invocar el mismo método de manera distinta entre objetos.
La abstracción para enfocarse en las características principales de un objeto, ignorando detalles innecesarios.
El encapsulamiento para ocultar la información interna de un objeto y exponer solo lo necesario.
Mención de lenguajes que utilizan programación orientada a objetos, destacando su aplicabilidad universal.
Transcripts
es un gusto estar de regreso soy el lyon
y en esta oportunidad vamos a hablar
sobre la programación orientada a
objetos bien este vídeo tiene como
finalidad aprender las bases de la
programación orientada a objetos de
manera directa y corta de hecho te
servirá bastante para comprender ese
punto de la programación a partir de
ejemplos sencillos y fáciles de
comprender
perfecto sin nada más que decir ha
llegado el momento de comenzar
bienvenido
ah
[Música]
en el principio cuando aprendemos a
programar lo ideal es conocer la
programación a partir de la programación
estructurada es decir utilizar el código
paso a paso línea tras línea hasta
llegar al objetivo pero con el avanzar
de la tecnología este tipo de desarrollo
al final queda obsoleta porque bueno
vamos a dar algunos ejemplos en este
caso el objetivo de hoy en día es tener
un código más corto ya que con la
programación estructurada teníamos
extensas líneas de código por lo tanto
era complicado mantener y ante estas
nuevas necesidades y estos nuevos
problemas nació de este modo la
programación
orientado a objetos y con todo esto que
es la programación orientada a objetos
bien la programación orientada a objetos
es un paradigma de la programación que
tiene como objetivo en este caso
resolver problemas de hecho la palabra
paradigma quiere decir que se va a
elaborar un modelo para resolver estos
problemas otro concepto que podemos
manejar para este paradigma es
entenderlo desde este otro punto de
vista en sí la programación orientada a
objetos es la técnica o es el estilo de
programación que utiliza objetos como
bloque inicial para la construcción de
una solución estos objetos son extraídos
del mundo real por tanto nos ayuda a
tener una idea de lo que vamos a
elaborar más que todo desde el punto de
vista del software y eso es básicamente
lo que quiere decir la programación
orientada a objetos vamos a utilizar
elementos del mundo real y lo vamos a
aplicar en algún proyecto de software ya
conociendo esto es bueno también
preguntarse el por qué es importante
aprender la programación orientada a
objetos principalmente porque número uno
nos ayuda a escribir código mucho más
rápido por tanto hace que nuestro
trabajo sea más productivo y además de
ello vamos a reutilizar el código quiere
decir que ya no es necesario de inventar
algo que ya está hecho sino que a partir
de este punto vamos a utilizar todo lo
que esté a nuestro alcance y además de
ello gracias a esta estructura vamos a
poder facilitar la resolución de
problemas con mayor detalle el mundo de
la programación orientada a objetos es
grande de hecho vamos a encontrar
diferentes conceptos que se adaptan en
este tipo de paradigma pero entre la
base fundamental de la programación
orientada a objetos encontramos
principalmente en las clases las
propiedades los métodos y los objetos y
de este último es donde vamos a comenzar
a entender
funciona la programación a partir de
este paradigma
porque mencionamos o se dice
programación orientada a objetos este
concepto nace de la resolución de
problemas a través de un análisis donde
precisamente vamos a utilizar objetos
estos objetos nos ayudan a solucionar un
determinado problema pero que es
sencillo un objeto un objeto en
programación orientada a objetos se
presenta alguna entidad de la vida real
es decir algún objeto de carácter único
que nos permita resolver un problema
además a ello nos ayuda a entender oa
enfrentar cualquier tipo de problema ya
que fácilmente con algún objeto vamos a
obtener interacción también a un objeto
hay que considerarlo como una unidad que
contiene datos y además tiene funciones
donde precisamente se operan estos datos
por ejemplo como acabamos de mencionar
un objeto puede ser cualquier elemento
del mundo real más que todo para poder
interactuar en este caso vamos a tomar
como ejemplo pero este peso tiene
propiedades que a partir de ahora los
vamos a identificar con el nombre de
atributos características únicas que
representa un objeto en este caso voy a
mencionar algunos estos pueden ser el
nombre la raza la edad la altura el peso
etcétera etcétera
características únicas que identifican
el objeto en este caso un peso estos
atributos a la vez también tienen
valores los valores que lo identifican y
de esta manera podemos cambiar de
objetos pero los atributos base se
mantiene obviamente para identificarlo
de manera independiente los valores
cambian dependiendo el objeto perfecto
esto más que todo para que tengas una
idea de qué es un objeto pero vamos a ir
más allá
identificando en primer lugar los tipos
de objetos bien vamos a clasificarlo en
dos grupos grandes uno de ellos son los
objetos físicos
los objetos físicos son objetos que
podemos extraer o percibir de manera
rápida mediante nuestro sentido de la
vista o mediante nuestro sentido del
tacto cosas tangibles por ejemplo puede
ser este una casa o personas o tal vez
un ordenador qué sé yo cosas que a
simple vista podemos percibir dentro de
este mismo grupo de los objetos físicos
también podemos subdividir lo en objetos
psíquicos esto más que todo tiene que
ver con los objetos que internamente
podemos percibir estos pueden ser los
sentimientos o en este caso como ejemplo
podemos tomar como referencia el dolor
el dolor internamente es perceptible del
mismo modo este tipo de objeto el dolor
también cuenta con atributos donde
también podemos identificarlo mediante
un nombre mediante un tipo una ubicación
una intensidad algunas características
esenciales que identifican el objeto en
este caso dolor también podemos extraer
este tipo de información
y transformarlo en código
entonces en resumen los objetos físicos
son percibidos tanto con nuestros
sentidos principalmente con la vista o
el tacto pero también los podemos sentir
ya sea este mediante algún sentimiento o
con alguna acción mental o de tipo
nervioso que nuestro cuerpo puede
asimilar y que no es tan fácil
comprenderlo desde el punto de vista o
desde el punto de vista tangible bien
eso más que todo para los objetos
físicos también podemos extraer otro
tipo de objetos a estos objetos los
vamos a denominar con el nombre de
objetos ideales que son los objetos
ideales los objetos ideales son aquellos
que podemos extraer más que todo de
nuestra imaginación éstos generalmente
no son perceptibles ya que nacen en
nuestra mente o es producto como ya se
mencionó de nuestra imaginación o de
algunas acciones mentales por ejemplo un
objeto ideal que podemos considerar es
en este caso sería un pokemon como todos
sabemos los pokemones no existen este
objeto es producto de nuestra
imaginación este tipo de objeto también
cuenta con algunos atributos nombre tipo
categoría debilidad etcétera etcétera
dependiendo a nuestras necesidades vamos
a otorgar diferentes características
pero básicamente estos son los atributos
que pertenecen a este pokemon y como
notarás este tipo de objeto también nos
sirve para representarlo en código para
un determinado problema veamos otro tipo
de objeto ideal en este caso algo que es
muy útil son los elementos matemáticos
por ejemplo figuras geométricas
la figura geométrica también tiene sus
propios atributos del mismo modo son
objetos que tal vez no podemos
interactuar fácilmente pero sabemos que
existen por tanto a este tipo de
elementos los consideramos como objetos
ideales
algo que sería bueno también recalcar es
que estos elementos tienen atributos los
atributos en sí pueden variar va a
depender mucho de la información que
nosotros queremos extraer de ese objeto
y así estos pueden ser con mayor detalle
o simplemente lo más esencial este punto
lo vamos a ver en detalle más adelante
pero quiero que consideres eso que
dependiendo a nuestras necesidades las
propiedades o atributos van a seguir
aumentando
dependiendo la siguiente consideración
por ejemplo cada objeto tiene sus
atributos de identidad esto hace que se
distinga un objeto del otro otro punto
para que lo tomes en cuenta es que si
bien podemos encontrar dos objetos que
son distintos no son iguales aunque
todos sus valores o atributos sean
idénticos por más que sus valores y sus
atributos sean idénticos no quiere decir
que estos dos objetos son iguales ya que
a simple vista podemos notar también que
estos objetos tienen una cara
que lo identifica de manera distinta
algo que también es muy bueno que sepas
es que cada objeto también posee
operaciones o estados a esto nos vamos a
conocer con el nombre de método los
métodos son acciones que son propias del
objeto en este caso con el ejemplo del
peso los métodos que le corresponde son
las acciones de comer dormir y ladrar
son acciones son estados que pertenecen
a este objeto también esto va a variar
dependiendo al tipo de objeto que
estemos manejando por ejemplo vamos a
cambiar de objeto en este caso un
televisor el televisor tiene los
siguientes atributos marca imagen
software pero en la parte de métodos
únicamente vamos a encontrar dos
acciones o funciones elementales por
ejemplo el encendido y el apagado son
acciones son estados son operaciones que
los vamos a identificar con el nombre de
método
a la agrupación de estructura de datos
en objetos se le denomina con el nombre
de clase en sí una clase es una
colección de objetos del mismo tipo ojo
no necesariamente tienen que ser iguales
pero sí deben compartir características
similares bien veamos un ejemplo en este
caso vamos a generar una clase de nombre
presa estos van a ser nuestros objetos
ok no necesariamente tienen que ser tres
o cuatro pueden ser los objetos que
quieras bien esto más que todo para que
podamos entender que realmente es un
objeto la reunión de estos objetos
identifican una clase la clase en este
caso de nombre pero también estos
objetos tienen atributos los cuales van
a identificar al objeto en este caso
pueden ser los nombres y las razas y
como notarás eso va ir cambiando
dependiendo al objeto pero a la vez
también mantienen los mismos métodos las
mismas acciones que pertenecen a la
clase de perro comer coser saltar
etcétera
y básicamente de este modo identificamos
una clase que es la agrupación de
algunos objetos no necesariamente para
este ejemplo debe llamarse peso también
podemos personalizar el nombre por
ejemplo también podemos llamarlo
animales domésticos o pesos callejeros o
únicamente pesos de adopción dependiendo
a lo que queremos hacer en este caso
puede variar el nombre para poder
identificar esta agrupación de objetos
en este caso fácilmente en nuestro
ejemplo ha sido muy sencillo pero
tomemos otro tipo de objeto en este caso
que sean hoteles a estos objetos los
vamos a clasificar con el nombre de
hotel cada hotel es distinto entonces
vamos a tomar estos elementos como
objetos estos objetos también tienen
atributos por ejemplo el nombre la
dirección del hotel el nombre del
administrador la categoría del hotel
etcétera etcétera únicamente como
ejemplo los más elementales del mismo
modo cuentan conexiones operaciones que
los estamos identificando con el nombre
de método
son los métodos que son necesarios
dentro de un hotel son los huéspedes las
habitaciones la fecha de llegada la
fecha de partida etcétera etcétera bien
entonces de esta manera podemos
clasificar un grupo de objetos en este
caso con el nombre de hoteles bien vamos
a ir ahora a cosas un poquito más
detalladas en este caso cada objeto que
pertenece a una clase oa esta clase es
llamado como instancia de clase qué
quiere decir esto de instancia de clase
la instancia de clase es lo inverso a la
clasificación
y concierne a la generación de distintos
objetos a partir de una clase en este
caso para poder instancia o generar una
instancia miento de clase lo realiza
mediante un mensaje y de qué manera por
ejemplo acá yo cuento con una clase
hotel contamos con dos instancias uno
para el tema de la compañía y otro para
el tema de la persona en este caso vamos
a precisar la información
dividiendo en otros datos que se
necesitan por ejemplo en la instancia de
compañía vamos a necesitar otros datos
más que lo identifica con el objetivo de
poder clasificar mejor la información
que se tiene en este caso la compañía
cuenta con un nombre una oficina en
general un teléfono y del mismo modo en
la instancia de persona también vamos a
necesitar datos personales de esa
persona por ejemplo su nombre y su
dirección que se extrae de la instancia
persona dentro del atributo gerente
entonces a partir de una instancia vamos
a o bien clasificar o generar nuevos
objetos a partir de esta clase de nombre
hotel y en resumen como dice el texto
una instancia se refiere a un objeto en
particular como en este caso nos sirve
como ejemplo el tema de la compañía o el
personal son clasificaciones que vamos a
optar a partir de los atributos que uno
ya tiene como base esto únicamente como
ejemplo más adelante vamos a detallar
con mayor precisión estos puntos pero
sería bueno que ya estamos asimilando
estos conceptos porque nos ayuda a
entender a todo lo que podemos aprender
más adelante
bien como lo habíamos definido
anteriormente definimos el término de
método como un estado o un
comportamiento de los objetos estas
operaciones o estados los tenemos
clasificados de la siguiente manera
dentro de la programación orientada a
objetos podemos encontrar el método
inicializa dor este método en particular
lo que hace es permitir que dentro de
una clase se señale el tipo o el nombre
de los miembros que lo componen los
elementos esenciales para identificar un
determinado objeto por ejemplo vamos a
retomar el tema de los pokemon en este
caso tenemos una clase de nombre de
pokemon como referencia vamos a tomar
dos objetos cada uno de ellos cuenta con
atributos y a la vez con acciones en
este caso los estamos identificando con
el nombre de método y en este caso de
manera especial por decirlo de este modo
vamos a generar o crear un método
inicializa dor donde como habíamos
determinado vamos a tomar como la metro
importante el nombre y el tipo son datos
que vamos a tomar de referencia de los
atributos más que todo para poder
comenzar o iniciar el tema de las
acciones o estados este punto puede
cambiar porque hay otro método que nos
ayuda a tener una mayor comprensión
sobre este punto pero lo importante que
quiero que sepas es que gracias a este
método vamos a poder inicializar
acciones o estados a partir del método
inicializa dor en este caso tomando como
referencia el nombre y el tipo como
métodos principales
otro tipo de método que también es muy
usado es get y set que en realidad son
dos pero los vamos a identificar en este
grupo
qué quiere decir esto bien este tipo de
método no sirve más que todo para
obtener o modificar atributos dentro de
nuestra clase y con todo esto lo primero
que vamos a ver ahora es el método get
vamos a tomar como referencia la clase
disco que tiene los siguientes atributos
que a la vez cuenta con los siguientes
objetos donde también cuentan con los
siguientes atributos pero en la parte de
métodos vamos a incluir una determinada
acción en este caso la acción de valor
precio qué quiere decir esto que gracias
al método que vamos a obtener el valor
en este caso del atributo precio este
valor ver cambiando pero lo vamos a
obtener mediante un determinado valor
esa acción lo vamos a depositar o lo
vamos a introducir en el método valor
precio que como acabo de mencionar el
método de lo que hace es obtener un
atributo dentro de nuestra clase bien
ahora veamos el tema del método set del
mismo modo vamos a tomar como referencia
la clase social ok para este ejemplo
también cuenta con los de tres los
objetos que en este caso son personas y
dentro de esos atributos vamos a tomar
los siguientes nombre apellido y estado
civil este último nos va a servir
bastante para este ejemplo en la parte
de métodos encontramos o vamos a generar
un determinado estado en este caso
cambiar el valor del estado civil por
ejemplo en este caso el estado civil
puede estar en soltero y al cambiarlo
con el método set pasaría a ser casado y
básicamente lo que hace el método set es
cambiar los atributos de una clase de un
estado pasar a otro y así sucesivamente
como te mencionaba vamos a tener en este
caso el valor de estado civil soltero
pero gracias a este método pasaría a ser
casado del mismo modo funciona con el
tema del get donde en este caso ya
tenemos un precio base pero gracias al
método un valor de presión el valor que
tengo dentro del precio va a ir
cambiando dependiendo a nuestras
necesidades
bien de este modo trabajamos tanto con
guetta como con set veamos otro tipo de
método en este caso el método
visualizador que nos permite mostrar los
valores de nuestros atributos en este
caso tomó como ejemplo la clase camisas
donde vamos a encontrar los siguientes
objetos que pertenecen a esta clase del
insumo do cuentan con los siguientes
atributos y dentro del método vamos a
crear el método o el estado mostrar
camisa lo único que hace es mostrar los
atributos de la camisa ya sea este de
manera visual como podrás notar ahora o
mediante algún detalle en texto lo
importante es poder describir la
información que se tiene mediante este
método pero vamos a irnos ahora sí al
más importante creo yo que va a depender
mucho del lenguaje en el cual esté es
aplicando que es el caso del método
constructor el método constructor nos
sirve principalmente para inicializar
valores válidos dentro de un objeto si
bien puede ser muy similar al método
inicializa dor
en este caso vamos a tener alguna
restricción por ejemplo en este caso
vamos a contar con la clase bebé común
taras vamos a tomar como ejemplo a los
siguientes objetos estos objetos tienen
los siguientes atributos principalmente
en nombre pesos y ojos te debes estar
preguntando por qué tomó como referencia
como característica ojos bien es para
poder entender este tipo de metro como
te había mencionado dentro de la parte
de métodos vamos a generar o crear un
método especial en este caso constructor
éste tiene como objetivo marcar un
parámetro de validez en este caso voy a
tomar como referencia el atributo ojos
en este caso lo estoy diciendo que los
ojos tienen que ser negros de lo
contrario no será válido a la
información que se tiene y en este caso
para poder entenderlo mucho mejor vamos
a tomar cada uno de los objetos este es
válido este también digamos que el
último no cumple la condición porque no
cumple porque vamos a decir que este
objeto tiene los ojos azules por tanto
si queremos clasificar los valores entre
válidos o no válidos o permitidos o no
permitidos lo que yo necesito hacer es
generar un método constructor un método
que me ayude a validar la información
que se tiene en cada uno de mis objetos
dentro de una sola clase
bien ahora vamos a ver los beneficios de
poder utilizar la programación orientada
a objetos más que todo con este punto el
tema de la herencia perfecto uno de los
problemas que teníamos anteriormente con
la programación tradicional era más que
todo el tema de duplicar líneas de
código algo que vamos a evitar gracias a
la programación orientada a objetos
mediante la herencia lo que hace la
herencia básicamente es reutilizar el
código que ya se tiene y esto con el
objetivo de ser en primer lugar más
productivo y con ello obtener un código
mucho más limpio pero en sí a que
denominamos herencia la herencia en sí
nos permite crear nuevas clases a partir
de otras y vamos a tomar como siempre el
ejemplo clásico del padre e hijo donde
vamos a encontrar e incluso niveles a
estos niveles los vamos a identificar de
la siguiente forma en este caso como
padre vamos a identificarlo mediante el
nombre de superclase y los hijos los
vamos a identificar con el nombre de sub
que están ligados a lo que se tiene
dentro de la superclase por ejemplo en
este caso vamos a generar una clase de
nombre de persona a este le vamos a
identificar con el nombre de clase padre
o superclase este a la vez cuenta con
los siguientes atributos nombre apellido
edad y algunos métodos por ejemplo el
método de comer el método de hablar
etcétera etcétera esta superclase cuenta
con clases hijos o subclases en este
caso vamos a tomar dos como referencia
la clase empleado y la clase cliente y
como notarás tomando en cuenta el tema
de la herencia no pueden contener los
mismos atributos que ya tiene la clase
padre esto no es viable de hecho esto
sería duplicar el código por tanto no es
necesario volver a escribir los mismos
atributos porque ya tenemos una
superclase una clase padre que ya los
contiene por tanto tanto la clase
empleado como la clase cliente pueden
tener sus propios atributos
ejemplo en el caso del empleado cuenta
con los atributos de puesto sueldo y
turno e incluso los métodos pueden
cambiar en este caso acá yo tengo un
método de nombre producir al otro
extremo del mismo modo tengo la clase
cliente con los siguientes atributos
teléfono dirección email también cuenta
con otro tipo de método en este caso
comprar y como notarás con el tema de la
herencia también cuentan con los
atributos mencionados anteriormente
nombre apellido edad sólo que en este
caso estamos siendo más detallados con
la información que nos interesa ya que
tanto el nombre apellido y edad ya lo
tenemos identificado dentro de una
superclase en este caso la clase padre
de nombre persona y así básicamente es
cómo funciona el tema de la herencia
donde ya tengo una información general
en un determinado lugar para
posteriormente extraer solamente la
información que me interesa en pequeñas
subclases
en palabras muy sencillas lo que quiere
decir polimorfismo es múltiples formas a
qué se refiere con este término de hecho
tal vez uno de los conceptos más
difíciles de comprender dentro de la
programación orientada a objetos pero
concretamente el polimorfismo es la
capacidad que tienen ciertos lenguajes
ojos ciertos lenguajes para invocar al
mismo método desde distintos objetos qué
quiere decir eso bien en pequeñas
palabras y de manera un poquito más
directa nos referimos a que cada objeto
puedes responder mediante un mensaje
pero de forma distinta y precisamente
ese término tiene que ver mucho con lo
que acabamos de mencionar múltiples
formas en este caso este último punto
vamos a disfrutarlo con mayor detalle
bien como ejemplo voy a tomar la
siguiente representación vamos a tener
acá un capitán porque hay un capitán que
como ustedes saben dentro del ejército
cumple una función de ordenar a los que
están por debajo de él en este caso este
capitán debe entregar un mensaje una
cierta información este mensaje va a ser
entregado a nuestros objetos que en este
caso serán los soldados estos soldados
van a recibir este mensaje y cada uno va
a asimilar o interpretar el mensaje de
manera distinta por tanto cada uno de
ellos ejecuta la tarea de manera variada
o distinta como lo acabamos de mencionar
va a depender mucho de cómo asimiló
winter el mensaje pero algo que debes
considerar para el tema del polimorfismo
es que tiene que haber una conexión eso
quiere decir una clase padre y una clase
hijo temas de herencia de lo contrario
el tema del polimorfismo no tendría
mucho sentido porque tiene que haber una
conexión entre diferentes elementos o
clases para que esto funcione bien vamos
a pasar a otro tipo de ejemplo con todo
lo que acabamos de ver anteriormente
tomando como referencia o como base el
tema de la herencia en este caso yo
tengo la superclase padre de nombre
figuras geométricas y posteriormente
como subclase o clases dijo vamos a
tener la clase cuadrado y la clase
círculo en este caso como atributo voy a
tomar el tema del área
ok ese va a ser nuestro atributo
principal pero lo que me interesa más
que todo es el método por ejemplo en
este caso yo quiero encontrar el área ok
el área de mis figuras geométricas este
tipo de método vamos a pasar a las
subclases que también van a tomar como
referencia el atributo área y te debes
estar preguntando dónde está el tema del
polimorfismo como acabamos de mencionar
el polimorfismo quiere decir múltiples
formas en este caso no es lo mismo
encontrar el área del cuadrado que el
área del círculo son cosas distintas
como notarás la fórmula es distinta eso
quiere decir que vamos a tener
diferentes resultados al tener este tipo
de información lo conveniente es
utilizar el polimorfismo ya que como
notarás vamos a poder estructurar mejor
los elementos sin importar el tipo de
resultado que vamos a obtener en este
caso como notarás el cálculo del área es
distinto
y el resultado y además se aplica de
manera distinta tanto para el cuadrado
como para el círculo entonces de esta
manera muy sencilla podemos comprender
mucho mejor sistema del polimorfismo que
mediante el tema de la herencia podemos
extraer diferentes formas la información
sin importar la forma que éste tenga
qué es eso de abstracción bien el tema
de la abstracción consiste en describir
sus principales características que lo
hacen distinguir del resto sin pensar
mucho en los detalles por ejemplo vamos
a tomar como referencia al objeto auto
este objeto cuentan con los siguientes
atributos de hecho voy a hacerlo de
manera completa en este caso yo tengo
una matrícula o una marca un modelo
potencia color etcétera etcétera
etcétera vamos a detallar la información
que se tiene pero dentro de la
programación orientado a objetos debemos
considerar este concepto de la
abstracción que quiere decir que
únicamente vamos a tomar los atributos
principales en este caso vamos a tomar
como referencia matrícula marca modelo y
motor ok no necesariamente tiene que
tener un orden específico únicamente
como mencionamos anteriormente las
características principales del mismo
modo lo podemos aplicar para el tema de
los métodos en este caso nuestro objeto
porque los métodos de avance frenar y
encender radio del mismo modo vamos a
abstraer o si vale el término clasificar
lo que realmente me interesa en este
caso voy a considerar únicamente avanzar
y frenar que son los métodos principales
para este objeto y bien básicamente nos
resumen así funciona la abstracción
vamos a extraer la información que
nosotros mismos veamos con mayor
prioridad que sean elementales o
principales
qué es eso de encapsulamiento de manera
corta el encapsulamiento es ocultar los
datos los datos que yo tengo la
información que poseo aún siguen
formando parte de mi software pero hay
un determinado punto donde yo quisiera
que esa información no sea visible o que
tome esa forma por decirlo de ese modo
bien para ir directamente al grano vamos
a ver el siguiente ejemplo voy a tomar
como referencia a la clase computadora
que a la vez cuenta con los siguientes
atributos pero lo que realmente me
interesa del tema del encapsulamiento
son sus estados o métodos bien esto va a
depender mucho con el lenguaje en el
cual estamos aplicando este tema del
encapsulamiento pero generalmente vamos
a tener dos clasificaciones aquellos
métodos que van a ser públicos y
aquellos que se van a considerar como
privados obviamente los públicos van a
ser de fácil acceso mientras que los
privados van a ser de acceso limitado o
restringido por ejemplo dentro de los
métodos que vamos a encontrar dentro de
nuestra clase computadora
el aspecto del público vamos a tener a
encender apagar y reiniciar acciones
básicas dentro de un ordenador pero yo
podría generar métodos privados acciones
o estados que van a estar limitados al
público en general por eso lleva el
nombre de privados en este caso vamos a
encontrar por ejemplo el tema de cambiar
el procesador eso lo vamos a hacer como
un método privado que no va a ser de
fácil acceso y otro sería el cambio de
disco duro por ejemplo a un disco de
estado sólido este tipo de método lo
puedo caracterizar como privado ya que
ciertas personas que tienen un acceso
privilegiado van a poder utilizar este
tipo de método a este tipo de
clasificación los identificamos con el
tema de encapsulado ok más que todo para
tener métodos para uso general o
únicamente para usos específicos y es
así como funciona el encapsulamiento
bien ya para finalizar como punto extra
que el lenguaje se utilizan programación
orientada a objetos básicamente todos
los lenguajes principales java php y
javascript payton césar walker es tal
vez la novedad más sobresaliente que
tenemos en este último tiempo pero en sí
todos los lenguajes base utilizan este
tipo de implementación la programación
orientada a objetos algo que tal vez es
bueno recalcar en este apuntes que si
bien cada uno de ellos maneja como
esencia todo lo que acabamos de ver en
este curso vale la pena recalcar que
cada uno de ellos tiene pequeñas
características que lo distinguen y es
por eso que un lenguaje es muy distinto
al otro más allá de la sintaxis que cada
uno tiene son pequeños detalles que son
propios del código que de seguro lo
vamos a ver en los siguientes cursos
dentro de mi canal y bien básicamente
eso sería todo en este curso donde hemos
aprendido lo fundamental dentro de la
programación orientada a objetos este va
a ser un curso esencial básico y
fundamental para continuar con los
cursos que se vienen en el canal donde
es precisamente los lenguajes 2 y en
algunos otros vamos a pasar rápidamente
a la parte práctica para poder trabajar
ya con el lenguaje que estés utilizando
eso sería todo por hoy soy yo julio no
olvides suscribirse al canal y seguirnos
en nuestras redes sociales para mayor
contenido no olvides compartir este
vídeo que nos ayuda bastante a seguir
creciendo y de este modo motivarnos a
generar mayor contenido soya crayón y
nos vemos en la próxima
[Música]
Посмотреть больше похожих видео
Que es Programación Orientada a Objetos (POO)
Programación Orientada a Objetos (POO): Abstracción, Encapsulamiento, Herencia, Polimorfismo
Curso Java - 7: Clases, Métodos y Objetos
¿Qué es la programacion orientada a objetos? - La mejor explicación en español
Lógica de la Programación Orientada a Objetos Explicada con FIFA
🚀 POLIMORFISMO en JAVA | 🤔| Programación Orientada a Objetos 🖥️ | Explicación FÁCIL 2023 | #7
5.0 / 5 (0 votes)