¿Qué es la programacion orientada a objetos? - La mejor explicación en español

EDteam
19 Jun 201919:56

Summary

TLDRÁlvaro Felipe presenta un video sobre programación orientada a objetos, un concepto que puede ser confuso para principiantes. Expone los fundamentos de esta metodología, destacando la importancia de objetos con atributos y métodos, y cómo se relacionan entre sí en sistemas más grandes. Describe el proceso de abstracción, encapsulamiento, polimorfismo y herencia como pilares fundamentales. Invitó a los espectadores a dominar la tecnología a través de cursos en el sitio web 'the team', enfatizando la relevancia de la programación orientada a objetos en el mundo actual.

Takeaways

  • 👋 Álvaro Felipe presenta un video sobre programación orientada a objetos y su esfuerzo por explicarlo de manera comprensible.
  • 🌐 Se menciona la plataforma 'the team' como un lugar para aprender tecnología y dominarla para crear aplicaciones y negocios.
  • 🤖 La programación orientada a objetos (POO) es un concepto que puede ser confuso para los principiantes, pero es fundamental para entender la programación moderna.
  • 📈 Se destaca la importancia de los paradigmas de programación y cómo el paradigma secuencial es fácil de aprender pero puede ser limitante para proyectos grandes.
  • 🛍️ El ejemplo de una tienda en línea de zapatos ilustra cómo la POO ayuda a manejar la complejidad al tratar con objetos como productos, carritos de compras y usuarios.
  • 🔄 La POO permite una separación de responsabilidades, donde cada objeto tiene sus propios datos (atributos) y comportamientos (métodos).
  • 🔑 Se introduce el concepto de abstracción, que es la creación de clases a partir del análisis de atributos y métodos que deben tener los objetos.
  • 🏭 El proceso de instanciación es descrito como la creación de objetos reales a partir de las clases, permitiendo la creación de múltiples objetos sin escribir código repetitivo.
  • 🔒 El encapsulamiento es un concepto clave en la POO que asegura que los objetos solo sean modificados de manera segura y apropiada.
  • 🕺 El polimorfismo se presenta como la capacidad de que objetos con la misma función, pero implementada de manera diferente, puedan responder a una misma llamada o método.
  • 👨‍👧‍👦 La herencia es explicada como un mecanismo que permite a las clases hijas heredar y extender las funcionalidades y atributos de una clase padre.
  • 📚 Se invita a los espectadores a explorar cursos sobre programación orientada a objetos en 'the team' para aprender más sobre este paradigma utilizado en el mundo.

Q & A

  • ¿Quién es Álvaro Felipe y qué trata de explicar en el video?

    -Álvaro Felipe es el presentador del video y trata de explicar el concepto de la programación orientada a objetos de una manera comprensible, especialmente para aquellos que están comenzando a aprender sobre el tema.

  • ¿Qué es 'the team' y cómo se relaciona con la programación orientada a objetos?

    -En el script, 'the team' parece ser una plataforma de cursos en línea donde Álvaro Felipe invita a los espectadores a dominar la tecnología y a aprender a crear aplicaciones, diseños e incluso empresas, lo cual es coherente con la programación orientada a objetos, que es un paradigma de programación utilizado para construir sistemas complejos.

  • ¿Por qué puede ser confuso el concepto de programación orientada a objetos para los principiantes?

    -El concepto de programación orientada a objetos puede ser confuso para los principiantes porque implica una forma diferente de pensar en la programación, enfocándose en los objetos y su comportamiento en lugar de simplemente en secuencias de instrucciones.

  • ¿Qué es un paradigma de programación y cómo se relaciona con la programación orientada a objetos?

    -Un paradigma de programación es un enfoque o estilo de programar. La programación orientada a objetos es uno de estos paradigmas y se centra en la creación de objetos que tienen datos y funcionalidades, facilitando así la abstracción y el modelado de sistemas complejos.

  • ¿Cuál es la diferencia entre la programación secuencial y la programación orientada a objetos?

    -La programación secuencial, también conocida como estructurada, sigue un flujo de instrucciones de arriba hacia abajo, mientras que la programación orientada a objetos se enfoca en la creación de objetos que interactúan entre sí, permitiendo una mayor modularidad y reutilización de código.

  • ¿Qué son los atributos y los métodos en el contexto de la programación orientada a objetos?

    -Los atributos son los datos o propiedades de un objeto, mientras que los métodos son las funcionalidades o comportamientos que un objeto puede ejecutar. Por ejemplo, un objeto 'Usuario' podría tener atributos como 'nombre' y 'correo electrónico', y métodos como 'iniciar sesión' y 'editar perfil'.

  • ¿Qué es la abstracción en la programación orientada a objetos y cómo se realiza?

    -La abstracción es el proceso de identificar y extraer los atributos y métodos esenciales de un objeto para modelar una clase. Se realiza pensando en qué características y comportamientos deben tener los objetos en el sistema, como por ejemplo, definir un objeto 'Usuario' con atributos y métodos relevantes para una aplicación.

  • ¿Qué es una clase y cómo se relaciona con la creación de objetos?

    -Una clase es una plantilla o molde que define la estructura de un objeto, incluyendo sus atributos y métodos. A partir de una clase, se pueden crear múltiples objetos, proceso conocido como instanciación.

  • ¿Cómo se relaciona el proceso de instanciación con la creación de usuarios en una plataforma como 'the team'?

    -Cuando un nuevo usuario se registra en una plataforma, se invoca la clase 'Usuario' y se crea una instancia de ese objeto, que representa al usuario individual con sus propios atributos y métodos, como su nombre, correo electrónico y la capacidad de iniciar sesión o editar su perfil.

  • ¿Cuáles son los cuatro pilares fundamentales de la programación orientada a objetos y qué representan?

    -Los cuatro pilares fundamentales de la programación orientada a objetos son la abstracción, el encapsulamiento, el polimorfismo y la herencia. La abstracción permite modelar clases a partir de objetos reales, el encapsulamiento protege la información y los métodos, el polimorfismo permite que objetos con la misma función se comporten de manera diferente, y la herencia permite que nuevas clases hereden y amplíen funcionalidades de clases padre.

  • ¿Cómo se utiliza la herencia en la programación orientada a objetos y qué beneficios ofrece?

    -La herencia permite que una clase hija herede atributos y métodos de una clase padre, lo que promueve la reutilización de código y la creación de clases más especializadas sin duplicar la funcionalidad existente. Por ejemplo, una clase 'Usuario' podría ser la clase padre de 'Staff', 'Profesor' e 'Invitado', cada una con sus propias características y comportamientos adicionales.

Outlines

00:00

📚 Introducción a la Programación Orientada a Objetos

Álvaro Felipe presenta el tema de la programación orientada a objetos (POO), una técnica de programación que puede ser confusa para principiantes. Él destaca la importancia de dominar la tecnología y la plataforma 'the team' como un lugar para aprender de manera gratuita. Describe la POO como un concepto amplio y abstraído, y comparte su experiencia personal de frustración al aprender a programar, enfatizando la dificultad de pasar de los conceptos básicos a la aplicación en proyectos reales. Introduce el concepto de 'paradigmas' en programación y explica que el paradigma secuencial es el más comúnmente enseñado, pero que la POO es más utilizado en el mundo real.

05:01

🛠 Conceptos Básicos de la POO

El script profundiza en los conceptos fundamentales de la POO, donde se destacan los objetos como elementos con datos (atributos) y funcionalidades (métodos). Álvaro Felipe ilustra esto con el ejemplo de una tienda en línea, donde cada artículo, carrito de compras y usuario son objetos con sus propios datos y comportamientos. Expone cómo la POO ayuda a manejar y escalar sistemas de manera más eficiente, permitiendo la adición de nuevas funcionalidades sin complicaciones. Además, se presenta el proceso de 'abstracción', donde se deciden qué atributos y métodos tendrá un objeto en particular, como un usuario en una aplicación.

10:02

👤 Creación de Objetos y Clases en la POO

Se explica cómo a través de la abstracción se crean 'clases', que son plantillas para objetos. Cada clase tiene atributos y métodos que definen su estructura y funcionalidad. El proceso de crear un objeto a partir de una clase se llama 'instanciación'. El ejemplo de la plataforma de cursos 'the team' se utiliza para demostrar cómo se crea un objeto 'usuario' utilizando la clase 'usuario'. También se describe cómo se pueden crear múltiples instancias de un objeto sin necesidad de escribir código para cada uno, mejorando la eficiencia en la programación.

15:04

🌐 Aplicación de la POO en un Escenario Real

El script presenta un escenario en el que un personaje llamado Alexis descubre y utiliza la plataforma 'the team'. Alexis se registra, consume contenido gratuito y decide pasar a un plan premium. Este proceso involucra la invocación y creación de objetos como 'usuario', 'orden de compra' y 'premio', cada uno con sus propios atributos y métodos. El ejemplo muestra cómo los objetos se comunican y se relacionan entre sí en la POO, y cómo se pueden instanciar objetos adicionales para ampliar la funcionalidad del sistema.

🏛 Pilares de la Programación Orientada a Objetos

Finalmente, se discuten los cuatro pilares fundamentales de la POO: abstracción, encapsulamiento, polimorfismo y herencia. La abstracción ya fue explicada anteriormente, y el encapsulamiento se refiere a la protección de la información dentro de los objetos. El polimorfismo permite que objetos con la misma función se comporten de manera diferente dependiendo de su contexto. La herencia permite que nuevas clases se creen a partir de clases padre, heredando y potencialmente modificando sus atributos y métodos. El video termina con una invitación a explorar más cursos de POO en 'the team' y un mensaje de motivación para dominar la tecnología.

Mindmap

Keywords

💡Programación Orientada a Objetos

Es un paradigma de programación que se centra en la creación de 'objetos' que encapsulan tanto datos como comportamientos. En el video, Álvaro Felipe intenta explicar este concepto de manera sencilla, destacando su relevancia para los programadores que desean dominar la tecnología y crear aplicaciones complejas.

💡Atributos

Los atributos son propiedades o características de un objeto en la programación orientada a objetos. En el script, se mencionan como los datos que un objeto posee, como el precio, la marca y el nombre de un producto.

💡Métodos

Los métodos son las funcionalidades o acciones que pueden realizar los objetos. En el video, se ilustra cómo los productos pueden ser comprados o agregados al carrito, y los usuarios pueden iniciar sesión o editar su perfil, como ejemplos de métodos.

💡Clase

Una clase es una plantilla o molde que define la estructura de un objeto, incluyendo sus atributos y métodos. En el script, se describe cómo a través de clases se pueden crear múltiples objetos, como usuarios, sin necesidad de escribir código para cada uno.

💡Instancia

La instancia es el proceso de crear un objeto real a partir de una clase. En el video, se utiliza el ejemplo de la creación de un usuario en una plataforma de cursos, donde el usuario Alexis se convierte en una instancia del objeto 'Usuario'.

💡Abstracción

La abstracción es el proceso de identificar y extraer los atributos y métodos esenciales de un objeto. En el script, se menciona cómo se utiliza para definir las características de un usuario en la creación de una aplicación.

💡Encapsulamiento

El encapsulamiento es el proceso de ocultar la implementación interna de un objeto y restringir el acceso a sus datos y métodos. En el video, se discute cómo esto ayuda a proteger la información y a mantener la organización del sistema.

💡Polimorfismo

El polimorfismo es la capacidad de un objeto de responder de diferentes maneras a la misma operación o método. En el script, se ejemplifica con la notificación a un usuario que se convierte en 'Premium', que puede ser comunicada a través de diferentes canales como Slack, web o correo.

💡Herencia

La herencia es un mecanismo que permite a una clase 'hija' heredar atributos y métodos de una clase 'padre'. En el video, se usa para explicar cómo se pueden crear clases específicas como 'Staff' o 'Profesor' a partir de una clase genérica de 'Usuario'.

💡Paradigma Secuencial

El paradigma secuencial, también conocido como programación estructurada, es un estilo de programación donde las instrucciones se ejecutan en orden desde arriba hacia abajo. En el script, se contrasta con la programación orientada a objetos, destacando su limitación en proyectos más grandes.

💡Tienda en Línea

Una tienda en línea es un ejemplo práctico utilizado en el video para ilustrar cómo la programación orientada a objetos se aplica en escenarios reales. Se describe cómo los objetos como 'Zapatos', 'Carrito' y 'Pasarela de Pago' interactúan en un sistema de comercio electrónico.

Highlights

Alvaro Felipe introduce el tema de la programación orientada a objetos (POO) y su importancia para principiantes.

Se menciona el sitio web 'the team' como una plataforma para aprender tecnología y dominarla.

Se destaca la dificultad de pasar de las bases de la programación a la creación de programas reales.

Se describen los paradigmas de programación y su influencia en el estilo de programación de cada desarrollador.

Se explica el paradigma secuencial y cómo es la forma más sencilla de aprender a programar.

Se presenta el ejemplo de una tienda en línea para ilustrar los desafíos de la programación secuencial en proyectos grandes.

Se introduce la POO como el paradigma más utilizado en el mundo y su utilidad para manejar sistemas complejos.

Se definen los objetos en la POO como elementos con datos y funcionalidades propias.

Se explica cómo la POO permite la comunicación entre objetos, facilitando el mantenimiento y crecimiento de un sistema.

Se describen los atributos y métodos de los objetos en la POO y su importancia.

Se ilustra el proceso de abstracción para definir los atributos y métodos de un objeto, usando el ejemplo de un usuario en una aplicación.

Se introduce la clase como una plantilla para crear múltiples objetos a partir de una estructura definida.

Se explica el proceso de instanciación, que permite crear objetos reales a partir de una clase.

Se presenta un ejemplo práctico de cómo se utilizan los objetos en una aplicación real, con la historia de Alexis y la plataforma 'the team'.

Se describen los cuatro pilares fundamentales de la POO: abstracción, encapsulamiento, polimorfismo y herencia.

Se detalla el concepto de abstracción y su papel en la creación de clases a partir de la identificación de atributos y métodos.

Se discute el encapsulamiento como una forma de proteger la información y controlar la comunicación entre objetos.

Se explica el polimorfismo como la capacidad de diferentes objetos para responder de manera única a la misma orden.

Se ilustra la herencia como un mecanismo para que las clases hijas hereden y amplíen las funcionalidades de una clase padre.

Se invita a los espectadores a explorar cursos de POO en 'the team' para aprender más sobre este paradigma y aplicarlo en proyectos reales.

Se enfatiza la importancia de no ser solo un usuario de la tecnología sino dominarla para asegurar el futuro.

Transcripts

play00:00

hola amigos y amigas de the team yo soy

play00:01

álvaro felipe y hoy quiero hablarte

play00:03

acerca de la programación orientada a

play00:05

objetos

play00:06

he hecho mi mayor esfuerzo para

play00:08

explicarte de la mejor manera y de la

play00:10

forma más entendible este concepto que

play00:12

es confuso para los que comienzan así

play00:15

que al final del vídeo me dirás si lo

play00:17

logré o no lo logré pero te juro que he

play00:18

hecho mi mayor esfuerzo antes de

play00:22

comenzar quiero recordarte que si te

play00:23

interesa dominar la tecnología de ting

play00:26

es el lugar para ti deja de ser un

play00:28

simple usuario de la tecnología y domina

play00:31

la y conquiste el mundo con el de ti

play00:32

puedes aprender a crear tus propias

play00:34

aplicaciones crear tus propios diseños o

play00:36

crear tu propia empresa entra a ed team

play00:40

para empezar a estudiar completamente

play00:42

gratis

play00:44

dicho eso vamos al tema de hoy

play00:45

programación orientada a objetos que

play00:48

tienen que ver estos dos conceptos la

play00:49

programación y los objetos los objetos

play00:51

son pues pues la computadora el teléfono

play00:54

este aparato yo mismo podría ser

play00:57

considerado un objeto no pero qué tiene

play00:59

que ver con la

play01:00

la nación lo que pasa es que la

play01:03

programación es muy amplia muy amplia

play01:06

hay varias formas de programar

play01:09

es tan amplia que a mucha gente le le

play01:12

confunde y le estresa el proceso de

play01:14

aprendizaje a mí también me estreso

play01:16

tanto así que si un vídeo que se llama

play01:18

no sirve para programar donde cuento lo

play01:20

difícil que fue para mí en cierta etapa

play01:22

pasar de las bases de la programación

play01:24

hay a programar cosas reales aprender

play01:27

las bases es muy fácil y en un día

play01:29

puedes estar haciendo tu primer hola

play01:31

mundo y tu primer programa muy básico

play01:32

pero luego luego llevarlo al mundo real

play01:35

es algo que puede ser muy frustrante si

play01:37

tú estás pasando por ese momento es

play01:40

temporal tranquilo a mí también me pasó

play01:42

me sentía inútil te invito a ver ese

play01:44

vídeo pero es temporal ahora a que

play01:47

quiero llegar a que la programación es

play01:49

amplia pues por eso uno a uno le enreda

play01:51

y en la programación existe algo llamado

play01:53

paradigmas los paradigmas de

play01:55

programación qué cosas son son estilos

play01:57

de programar formas de programar yo

play02:00

puedo programar de una forma u otra

play02:02

persona de otra forma de otra forma de

play02:04

otra forma ok cada programador tiene su

play02:06

propio estilo pero en términos más

play02:09

generales hablamos de paradigmas

play02:11

entonces el paradigma con el que

play02:13

nosotros nos enseñan a programar es el

play02:14

paradigma secuencial o estructurado es

play02:17

decir las instrucciones van de arriba a

play02:20

abajo una después de otra es la manera

play02:23

más sencilla de aprender a programar no

play02:25

tenemos que abstraer cosas complejas

play02:27

sino simplemente damos una orden luego

play02:30

damos otra orden leemos un dato lo

play02:32

manipulamos con alguna operación ponemos

play02:35

una condicional para validar ese

play02:36

resultado y según el resultado mandamos

play02:38

una cosa u otra

play02:39

cierto sencillo no de arriba hacia abajo

play02:43

así aprendimos todos a programar pero

play02:45

cuando empiezas a ir a proyecto es un

play02:48

poco más grandes te das cuenta que esto

play02:51

no te ayude mucho y ahí es donde se te

play02:53

complican las cosas te voy a poner un

play02:55

sencillo ejemplo un cliente pide una

play02:58

tienda en línea

play02:59

donde él va a vender zapatos

play03:03

entonces tienes que pensar de una manera

play03:05

muy diferente cómo vas a hacer de arriba

play03:07

hacia abajo ese programa una tienda en

play03:09

línea para vender zapatos tienes los

play03:12

zapatos que pueden tener un precio un

play03:15

color una talla una marca que pueden

play03:18

filtrarse

play03:20

que deben agregarse a un carrito tienes

play03:22

el carrito que debe conectarse con una

play03:24

pasarela de pago para recibir las

play03:26

transacciones los pagos de dinero tienes

play03:28

a los usuarios que van a hacer las

play03:30

compras son muchas cosas que no pueden

play03:33

escribirse de arriba hacia abajo y aún

play03:36

así como es la única manera en la que

play03:38

sabemos hacer código sabemos programar

play03:41

aún así lo hacemos de arriba hacia abajo

play03:43

si o no lo has hecho yo también lo he

play03:46

hecho y mea culpa

play03:49

es que así nos enseñaron entonces

play03:51

cambiar el chip cambiar mentalmente ese

play03:54

modelo ese paradigma a otro paradigma es

play03:57

difícil es muy difícil y ahí es donde

play03:59

empezamos a complicarnos el paradigma

play04:01

más usado en el mundo no el mejor porque

play04:04

eso es relativo pero si el más usado en

play04:06

el mundo es la programación orientada a

play04:09

objetos porque porque cada uno de estos

play04:13

elementos que necesita el sistema la

play04:15

aplicación el programa como el carrito

play04:18

el producto el usuario etcétera cada uno

play04:21

de esos elementos es un objeto en este

play04:24

paradigma y esos objetos tienen sus

play04:26

propios datos y tienen su propio

play04:28

comportamiento su propia funcionalidad

play04:31

por ejemplo los productos tienen precio

play04:33

tienen marca tienen nombre pero también

play04:36

tienen funcionalidad por ejemplo pueden

play04:38

ser comprados obvio pueden ser agregados

play04:40

al carrito

play04:42

los usuarios también tienen datos tienen

play04:46

por ejemplo su nombre su número de

play04:48

tarjeta de crédito etcétera pero también

play04:50

tienen acciones que ellos pueden hacer

play04:53

ellos pueden comprar productos el

play04:56

carrito también sería un objeto porque

play04:58

este objeto tiene datos sus datos serían

play05:01

por ejemplo qué productos han sido

play05:03

agregados al carrito o tal vez ninguno

play05:04

entonces esté en cero que usuario está

play05:07

ahorita en ese carrito adicionalmente

play05:10

tiene funcionalidad por ejemplo mandar

play05:12

esa orden de compra a la pasarela de

play05:15

pago para que se procese y recibir el

play05:18

mensaje de si el proceso fue exitoso si

play05:20

el pago fue exitoso o no cada uno de

play05:22

esos elementos en los que nosotros vamos

play05:24

dividiendo el sistema es un objeto y los

play05:28

objetos tienen datos y tienen

play05:30

funcionalidad entonces repasemos los

play05:33

objetos tienen datos y tienen

play05:36

funcionalidad eso lo voy a repetir

play05:39

muchísimo en el vídeo de hoy así que no

play05:42

lo vas a olvidar datos y funcionalidad

play05:44

está bien entonces con la programación

play05:46

orientada a objetos pasamos de tener un

play05:49

digo de arriba hacia abajo en el que las

play05:51

funcionalidades están todas metidas y

play05:54

que es muy difícil de separar y de

play05:56

escalar a un sistema en el que tenemos

play05:59

los elementos o los objetos separados y

play06:03

que se comunican entre ellos como el

play06:05

usuario que se comunica con el producto

play06:07

para comprarlo el producto que se

play06:08

comunica con el carrito el carrito con

play06:10

la pasarela de pago y a la vez con el

play06:12

usuario etcétera los objetos se

play06:14

comunican entre ellos entonces de esta

play06:16

manera es más fácil manejar y mantener

play06:18

un sistema y hacerlo crecer si luego

play06:20

necesitamos otra funcionalidad podemos

play06:22

agregar otro objeto o incluso agregarle

play06:25

atributos o funcionalidad a los objetos

play06:29

que ya existen como ya dije los objetos

play06:31

tienen datos y tienen funcionalidad y lo

play06:34

voy a repetir muchas veces para que no

play06:36

lo olvides jamás los datos en

play06:38

programación orientada a objetos se

play06:39

llaman atributos y la funcionalidad se

play06:42

llaman métodos es decir cada objeto

play06:44

tiene sus atributos y tiene sus métodos

play06:47

pongamos un caso del mundo real para que

play06:49

quede muchísimo más claro estamos

play06:51

programando la aplicación de cursos de

play06:53

edet

play06:54

y queremos crear usuarios entonces

play06:57

hacemos un proceso llamado abstracción

play06:59

abstracción es pensar que atributos y

play07:03

qué métodos debería tener este usuario

play07:05

para nuestra aplicación entonces luego

play07:07

de esa reflexión nosotros llegamos a la

play07:10

conclusión que nuestro usuario debe

play07:12

tener nombres apellidos correo

play07:13

contraseña y premium premio sería un

play07:16

valor bul ya no es decir que puede ser

play07:19

verdadero o falso que nos va a decir si

play07:21

el usuario es premium o no es premium a

play07:24

través de este mismo proceso de

play07:25

abstracción definimos sus métodos cuáles

play07:27

van a ser sus métodos iniciar sesión

play07:30

cerrar sesión

play07:31

editar su perfil cambiar su contraseña

play07:33

pasar a premium o publicar un artículo

play07:36

en la comunidad esas son las

play07:37

funcionalidades obviamente en el proceso

play07:40

podemos darnos cuenta que necesitamos

play07:42

también el atributo país el atributo

play07:45

género o el atributo fecha de nacimiento

play07:47

los agregamos ya tenemos la estructura y

play07:50

los agregamos este proceso es la

play07:52

abstracción este objeto se crea en

play07:54

código obviamente pero te imaginas que

play07:57

para cada vez que un usuario quiera

play07:58

registrarse

play08:00

que son miles llamemos al programador y

play08:02

lo pongamos escribir código para cada

play08:04

usuario no sería eficiente tendríamos

play08:07

una cola de cientos de usuarios

play08:08

esperando que el programador termine con

play08:11

el actual para pasar al siguiente como

play08:14

resolvemos ese problema de crear miles

play08:16

de usuarios sencillo usamos algo llamado

play08:19

clase la clase es una plantilla es un

play08:22

molde este molde tiene esa estructura

play08:25

básica del objeto sus atributos que son

play08:29

sus datos y sus métodos que su

play08:31

funcionalidad

play08:32

entonces en el proceso de abstracción

play08:34

que vimos hace un momento no creamos

play08:37

realmente el objeto usuario creamos la

play08:40

plantilla la clase entonces cada vez que

play08:43

una persona llega a él y ting y se

play08:45

registra crea su cuenta realmente está

play08:48

usando la clase

play08:51

que ya hemos creado y que ya está en

play08:53

nuestro código para crear nuevos objetos

play08:56

usuario es el proceso de crear objetos a

play09:01

partir de una plantilla llamada clase se

play09:03

llama instancia graba test o instancia

play09:07

es crear un objeto a partir de una clase

play09:09

por eso es que cada uno de esos objetos

play09:11

también se le llama instancia y de esa

play09:15

manera es como con una sola clase

play09:17

podemos crear decenas cientos o miles de

play09:21

usuarios sin tener que escribir código

play09:24

nuevamente solamente escribimos una vez

play09:26

la plantilla en este punto debe quedarte

play09:28

claro que un objeto tiene datos que son

play09:31

los atributos y tiene funcionalidad que

play09:34

son los métodos y que a través de una

play09:36

clase que es la plantilla podemos crear

play09:38

varios objetos ahora como es el proceso

play09:42

de usar estos objetos en una aplicación

play09:44

real te lo voy a mostrar con un ejemplo

play09:47

para que te quede clarísimo y nunca más

play09:50

tengas dudas en este ejemplo tenemos ahí

play09:52

al tío alexis este es un universo

play09:54

paralelo en el creativo alexis no conoce

play09:56

hay de ti

play09:57

entonces un amigo suyo le dice al tío

play10:00

alexis hoy he descubierto una plataforma

play10:02

de cursos que se llama the team es

play10:03

excelente y puedes comenzar gratis

play10:06

entonces celtyv alexis dice a qué

play10:08

chévere voy a revisar esa página entra a

play10:11

la web de the team le parece muy

play10:12

interesante se da cuenta que puede

play10:14

comenzar gratis sin tarjeta de crédito

play10:16

sin nada y dice voy a registrarme y voy

play10:19

a probar qué tal

play10:20

entonces en el proceso de registro él

play10:24

invoca a la clase usuario y la instancia

play10:28

y crea su usuario te das cuenta acaba de

play10:31

crear su usuario con su proceso de

play10:33

registro ese nuevo usuario es el usuario

play10:35

528 que tiene como nombre alexis como

play10:38

apellido losada

play10:39

este usuario empieza a consumir los

play10:42

cursos gratuitos de the team y le gusta

play10:44

eso está muy chévere y veo que hay más

play10:46

de 150 cursos y yo paso a premium

play10:48

entonces voy a pasar a premium que hará

play10:50

el usuario él va a la página donde están

play10:53

los planes escoge un plan mensual

play10:56

semestral o anual e introduce sus datos

play10:59

de compra ya sea paypal tarjeta de

play11:01

crédito en ese momento lo que está

play11:03

haciendo él es llamar a la clase orden

play11:06

de compra y esa clase orden de compra

play11:09

instancia a un objeto una orden de

play11:12

compra asociada a este usuario por eso

play11:14

le estamos poniendo ahí su mismo aire y

play11:16

orden de compra 528 que es el del

play11:18

usuario esta orden de compra se debe

play11:21

procesar si el proceso es correcto si se

play11:24

valida el pago está orden de compra

play11:27

llama a otra clase esta clase es la

play11:30

clase premium y esta clase premium se

play11:32

instancia el jugo objeto premium también

play11:35

con el aire del mismo usuario que se

play11:37

asigna a este usuario que ahora ya es

play11:40

premium y ya puede ver todos los cursos

play11:42

de the team entonces recuerda que las

play11:44

clases ya están allí en el sistema

play11:46

mira todos esos cubos grises son las

play11:48

clases que en el proceso se van a

play11:50

instancia para crear objetos reales

play11:54

listo el usuario es un objeto real la

play11:57

orden de compra es un objeto real el

play11:59

premio es un objeto real que se han

play12:01

creado a partir de instancias así es

play12:05

como funciona la programación orientada

play12:06

a objetos entonces no olvides que los

play12:09

objetos tienen atributos y tienen

play12:12

métodos pero una cosa más que los

play12:14

objetos se crean a partir de clases las

play12:17

clases son las plantillas y los objetos

play12:20

se crean a partir de esas plantillas por

play12:22

ejemplo el plano de una casa sería el

play12:24

equivalente a una clase porque a partir

play12:27

de ese plano puedes crear varios objetos

play12:30

y el proceso de crear un objeto a partir

play12:32

de la clase se llama instancia no lo

play12:36

olvides otro ejemplo para que no lo

play12:38

olvides nunca

play12:40

el dibujo que hace un diseñador de un

play12:42

vestido sería el equivalente a una clase

play12:45

porque a partir de ese dibujo él puede

play12:48

fabricar varios vestidos el vestido real

play12:51

ya sería el objeto y el proceso de crear

play12:54

ese vestido a partir de ese dibujo sería

play12:57

instancia a este punto espero que haya

play13:00

cinco palabras en tu cabeza que no

play13:01

vuelvas olvidar objeto atributo método

play13:06

clase instancia cinco palabras objeto

play13:10

atributo método clase instancia ya está

play13:13

con eso entiendes la programación

play13:15

orientada a objetos ahora como paradigma

play13:18

la programación orientada a objetos se

play13:19

basa en cuatro pilares que son

play13:21

abstracción encapsulamiento polimorfismo

play13:25

y herencia estos cuatro conceptos son la

play13:28

base de la programación orientada a

play13:29

objetos

play13:31

puede ser un poco confuso entenderlo al

play13:34

comienzo así que atento a lo siguiente

play13:36

en primer lugar la abstracción de la

play13:39

estación y hablamos hace un momento te

play13:40

acuerdas cuando queríamos crear un

play13:42

usuario el proceso de abstracción era

play13:43

pensar qué atributos y qué métodos va a

play13:46

tener eso es la extracción obviamente

play13:48

cuando creamos un sistema nosotros

play13:50

tenemos que hacer una abstracción para

play13:52

todas las clases el usuario por ejemplo

play13:55

en el de tim los cursos las clases las

play13:58

suscripciones las publicaciones en

play13:59

comunidad cada uno de estos elementos

play14:01

sería una clase y nosotros tenemos que

play14:03

hacer ese proceso mental de abstracción

play14:05

de pensar qué atributos y qué métodos va

play14:08

a tener entonces eso es la abstracción

play14:10

esos conceptos llevarlos y convertirlos

play14:13

en clases que tengan sus atributos y

play14:15

tengan sus métodos el siguiente concepto

play14:18

es el encapsulamiento y es que como

play14:20

hemos visto los objetos se comunican

play14:22

entre ellos esto podría traer problemas

play14:25

de seguridad si un objeto pudiera

play14:27

modificar los datos de cualquier otro

play14:30

entonces se necesita proteger la

play14:32

información de manipulaciones no

play14:35

autorizadas de tal manera que cuando se

play14:37

comunican los objetos

play14:38

hay caminos que se pueden seguir y

play14:40

caminos que no datos protegidos datos

play14:43

privados datos públicos métodos para

play14:46

acceder a cierta información objetos que

play14:49

no pueden acceder a cierta información o

play14:51

ciertos métodos de otros objetos de esa

play14:54

manera tenemos organizado el sistema

play14:55

porque imagínate que cualquier objeto

play14:57

puede acceder a cualquier información

play14:59

cualquier cambio no debido podría ser

play15:03

colapsar y que todo el sistema se caiga

play15:05

el siguiente concepto es el polimorfismo

play15:07

y para explicártelo recordemos este

play15:09

gráfico del tipo alexis convirtiéndose

play15:11

en premium cuando él se convierte a

play15:13

premium se notifica vía tres canales

play15:16

slack web y correo la notificación es la

play15:20

que es privada para el equipo de the

play15:21

team que nos dice que en ti vale si se

play15:22

ha suscrito vía web para el mismo

play15:25

usuario le llega un mensaje vía web y

play15:26

por correo también para el usuario le

play15:28

llega ese mensaje confirmando le que

play15:30

ahora es crimen si se dan cuenta es la

play15:34

misma funcionalidad la notificación

play15:36

aunque internamente cada uno de esos

play15:39

métodos funciona diferente es decir la

play15:42

notificación slack tiene sus pros su

play15:44

propia

play15:45

y sus propios métodos su propia lógica

play15:47

igual para la web igual para el correo

play15:49

que es una api de correo diferente pero

play15:51

en esencia es la misma función es la

play15:53

misma acción eso no simplifica mucho el

play15:56

trabajo porque podemos dar órdenes

play15:57

coherentes a varios objetos sin

play16:00

preocuparnos de como internamente ellos

play16:03

las ejecuten es como si le dijéramos

play16:05

baila al tío alexis baila a mano o baila

play16:08

a mí cada uno de nosotros bailará

play16:10

diferente yo seguramente será el peor de

play16:12

los tres pero cada uno bailará a su modo

play16:15

es decir nos dieron una orden y cada uno

play16:19

la cumple a su propia manera en

play16:21

particular eso es el polimorfismo poder

play16:24

darle la misma orden a diferentes

play16:26

objetos y que cada uno de ellos responda

play16:29

de su propia manera y el último concepto

play16:31

es la herencia este quizás es el más

play16:33

fácil de entender porque tiene mucha

play16:35

relación con el mundo real por ejemplo

play16:37

mis hijos han heredado muchas cosas mías

play16:39

tanto atributos como funcionalidades por

play16:41

ejemplo en atributos el color de los

play16:44

ojos del cabello de la piel

play16:46

la funcionalidad por ejemplo el carácter

play16:48

o la personalidad sin embargo ninguno de

play16:51

mis hijos es una copia de mí no son

play16:54

iguales sobre esas cosas que ellos han

play16:56

heredado ellos tienen sus propios

play16:58

atributos su propia personalidad su

play17:01

propia funcionalidad mi hijo es muy

play17:02

diferente a mí y me sorprendo a pesar de

play17:05

que reconozco también algunas cosas

play17:07

similares mías en él

play17:10

es lo mismo en la programación orientada

play17:11

a objetos tenemos una clase padre y las

play17:15

clases fijas heredan funcionalidades y

play17:18

atributos de esta clase padre pero no

play17:20

son idénticos no son idénticos solamente

play17:23

aprovechan eso que ya existe y luego se

play17:26

le añaden nuevas cosas por ejemplo miren

play17:29

tenemos una clase para crear usuarios se

play17:31

acuerdan un usuario genérico pero luego

play17:33

decimos necesitamos un usuario diferente

play17:37

que sea staff solamente para el equipo

play17:40

de the team para los trabajadores de the

play17:42

team que tengan diferentes

play17:44

funcionalidades diferentes atributos al

play17:46

usuario común entonces qué hacemos

play17:48

heredamos creamos una nueva clase que

play17:51

heredé de la clase padre y esa clase va

play17:53

a ser staff y ahí podemos poner a los

play17:56

miembros del equipo luego decimos

play17:58

necesitamos otro tipo de usuario que sea

play18:01

profesor porque el profesor tiene otro

play18:03

tipo de funcionalidad otro tipo de

play18:04

atributos entonces también heredamos de

play18:07

la clase usuario y creamos la clase

play18:10

profesor y a partir de esa clase de

play18:12

profesor creamos todos los profesores

play18:14

del team y por último decimos que tal

play18:16

que queremos

play18:16

meter invitados por ejemplo gente que

play18:18

sin pagar una suscripción pueda tener

play18:21

acceso por ejemplo para los sorteos o

play18:23

para las premiaciones o las campañas que

play18:25

hacemos entonces creamos un rol invitado

play18:28

para atraer gente externa y que pueda

play18:30

tener acceso a de tim y de esa manera

play18:32

podemos crear clases hijas te quedó

play18:35

claro en qué consiste la programación

play18:36

orientada a objetos espero que sí porque

play18:38

hice mi mayor esfuerzo para esta

play18:40

presentación si quieres saber más de la

play18:43

programación orientada a objetos que es

play18:44

el paradigma más usado en el mundo y

play18:46

aprenderlo ya con código con proyectos

play18:49

no solamente con slides te invito a los

play18:51

cursos que tenemos en el de tim tenemos

play18:53

un curso de programación orientada a

play18:55

objetos en java dictada por el tío

play18:56

alexis tenemos un curso de programación

play18:58

orientada a objetos en general con la

play19:01

teoría aplicada a más de un lenguaje con

play19:03

el profesor josé luján y tenemos un

play19:06

curso de programación orientada a

play19:07

objetos con llave script que es el

play19:09

lenguaje más importante de la web y

play19:11

muchos cursos más porque la programación

play19:13

orientada a objetos existen muchísimos

play19:16

lenguajes así que te invito a entrar

play19:19

para conocer todos los cursos que

play19:21

tenemos disponibles para ti recuerda no

play19:23

seas un simple usuario de la tecnología

play19:25

domina la y conquiste el mundo porque en

play19:27

el de tim puedes aprender a crear tus

play19:29

propias apps tus propios diseños o tu

play19:31

propia empresa y asegurar tu futuro

play19:33

porque tu futuro te está esperando

play19:36

yo soy álvaro felipe y nos vemos en el

play19:38

próximo vídeo hasta la próxima chao

Rate This

5.0 / 5 (0 votes)

関連タグ
Programación Orientada a ObjetosObjetosClasesAtributosMétodosAprendizajeTecnologíaCursos en LíneaDominar la TecnologíaTINGAlvaro Felipe
英語で要約が必要ですか?