Bienvenida e Introducción

1

¿Por qué aprender Programación Orientada a Objetos?

2

¿Qué resuelve la Programación Orientada a Objetos?

3

Paradigma Orientado a Objetos

4

Lenguajes Orientados a Objetos

5

Instalando Visual Studio Code

6

Diagramas de Modelado

7

Qué es UML

Orientación a Objetos

8

Objetos

9

Abstracción y Clases

10

Modularidad

11

Analizando Uber en Objetos

12

Reto 1: identificando objetos

Programación Orientada a Objetos. Análisis

13

Clases en UML y su sintaxis en código

14

Modelando nuestros objetos Uber

15

¿Qué es la herencia?

16

Aplicando Herencia a nuestro proyecto Uber

17

Reto 2: analicemos un problema

Clases, Objetos y Método Constructor

18

Creando nuestras carpetas iniciales para el curso

19

Definiendo clases en Java y Python

20

Definiendo Clases en JavaScript

21

Objetos, método constructor y su sintaxis en código

22

Objetos. Dando vida a nuestras clases en Java y Python

23

Declarando un Método Constructor en Java y JavaScript

24

JavaScript orientado a objetos, lo más nuevo

25

Declarando un método constructor en Python

Herencia

26

Aplicando herencia en lenguaje Java y PHP

27

Solución del reto de herencia en PHP

28

Aplicando herencia en lenguaje Python y JavaScript

29

Otros tipos de Herencia

30

Reto 4

Encapsulamiento

31

Encapsulamiento

32

Encapsulando atributos en Java

Polimorfismo

33

Generando polimorfismo en Java

34

Generando polimorfismo en PHP

Cierre del curso

35

El Diagrama UML de Uber

36

Conclusiones

37

Bonus: Qué es la Programación Orientada a Objetos

Aún no tienes acceso a esta clase

Crea una cuenta y continúa viendo este curso

Curso de Programación Orientada a Objetos: POO

Curso de Programación Orientada a Objetos: POO

Anahí Salgado Díaz de la Vega

Anahí Salgado Díaz de la Vega

Analizando Uber en Objetos

11/37
Recursos

Aportes 148

Preguntas 21

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.

Platzi tendrá un curso de UML?

Hice un diagrama UML integrando las propiedades de cada clase, si identifican un error por favor comenta. Les dejo el template y el sitio donde pueden crear el suyo y añadir nuevas clases, propiedades y comportamientos.
-Template
-Sitio para editar template (select open existing diagram)

Tengo una pregunta donde creo que se puede simplificar un poco mas.

¿No podriamos tener un objeto UberCar que contenga una propiedad “Tipo” donde dependiente el tipo de auto: UberX, UberPool, etc entonces procedemos con el monto a cobrar y demas?

Objetos identificados Uber:

  • User: El usuario, persona, cliente.

  • Car: UberX, UberPool, UberBlack, UberVan.

  • Route: Ruta de un punto A al B, tu ruta de traslado.

  • Driver: Conductor del auto, del objeto car.

  • Payment: Card, Paypal, Cash, método de pago por el servicio.

  • Trip: Viaje realizado del punto A al B.

🧠 Debemos analizar el problema en un determinado contexto, posteriormente identificar los objetos que interactúan.

¿Alguien seria tan amable de explicarme por que trip es un objeto?, eso me revuelve un poco gracias

Como dijo en un vídeo anterior, en la programación orientada a objetos podemos distinguir dos tipos de objetos: Físicos y Conceptuales. Ambos tipos tienen: propiedades (atributos) y comportamientos (métodos).

Entonces, por ejemplo, en este caso de estudio tenemos los siguientes tipos de objetos fiscos:

  • User (que tiene un nombre, una localización y métodos como “llamar uber”, “cancelar uber” “pagar uber”).

  • Uber x, Uber pool, Uber Black, Uber Van (tienen atributos como cantidad maxima de pasajeros, si es un auto que se puede compartir, si es un auto premium y métodos como: ir a buscar user, hacer viaje, cobrar viaje).

  • Route: Sigue siendo algo físico algo que puede verse en por ejemplo el mapa al seleccionar el destino. Esta routa tendra propiedades como: Punto de inicio y destino.

Y también tendremos un objeto conceptual: Trip.
Pero, ¿Por qué es un objeto? Porque este trip va a tener propiedades, estas propiedades van a ser un conjunto de los objetos anteriores, es decir, un trip/viaje va a tener: un usuario que pide el viaje, una ruta, un auto, un conductor y un precio, también tendremos otras propiedades como: iniciado y finalizado. Y podriamos tener un metodo como “modificar” o “cancelar”

¿Y porque es conceptual? Es conceptual porque no es algo tangible directamente. Explicado facilmente: Vos podes ver un auto, podes ver una ruta, un conductor…pero: no podes ver un viaje. El viaje es simplemente un concepto para englobar la interacción de otros objetos necesarios para formarlo.

Podriamos imaginar objetos conceptuales como: Carrera, Partido de Fútbol, Sesión de usuario…

me encanta la manera en como explica

ANÁLISIS DE LA SITUACIÓN

Cuando un usuario solicita un servicio de Uber, se da un proceso dividido en 4 momentos o pasos:

  1. El usuario con su celular solicita el servicio, ya que tiene la necesidad de trasladarse de un punto a otro.

  2. El usuario solicita el automóvil, especificando qué ruta es la que necesita recorrer.

  3. La aplicación le muestra al usuario un catálogo de automóviles, de los cuales el usuario puede elegir según su necesidad. Aquí también se muestra al conductor que maneja dicho automóvil.

  4. El usuario aborda el automóvil y realiza el viaje a la ruta definida en un principio. Al terminar el recorrido el usuario realiza el pago por el viaje realizado.

OBJETOS QUE SE IDENTIFICAN DESPUÉS DEL ANÁLISIS

USER: Quien solicita el automóvil.

ROUTE: Ruta desde un punto a otro.

AUTOMÓVILES:
UberX
UberPool
UberBlack
UberVan

CONDUCTOR: Quien conduce el automóvil Uber.

MÉTODO DE PAGO:
Card
PayPal
Cash

TRIP: Contiene los datos del viaje, tales como ruta, automóvil escogido, usuario que solicita el servicio, etc.

Para los diagramas existen varias herramientas, algunas de ellas son:

  • ArgoUML
  • SunUML
  • StarUML (Ésta última es muy completa y con ella se pueden realizar también Modelos Entidad Relación para el diseño conceptual en base de datos relacionales)

Cuando te das cuenta que en tu país solo hay un tipo de auto en uber.
Excelente clases 😃

Yo en lo personal colocaria los tipos de uber en una clase vehiculo y luego entre sus propiedades colocaria lo que diferencia a uno de otro. Haria lo mismo con los metodos de pago ya que al final del dia se realizan muchas operaciones en comun a la hora de pagar solo varian ciertos apectos entre cada uno.

Notas:

  1. Analizar el Problema.
  2. Identificar los objetos.

Les dejo este super aporte donde explican UML muy claramente:
https://www.youtube.com/watch?v=Z0yLerU0g-Q

No seria un solo objetos Auto?
Creo que en el curso se confunden los conceptos de análisis con el de diseño.

No es uber suburban, es SUV. Saludos

El análisis que se acaba de realizar es algo muy similar a lo que se le llama historias de usuario, es el acercamiento a lo que realiza o se espera que realice un sistema, da la idea global de lo que se espera y da base estructural a todos los componentes requeridos o usados.

este video ayuda a entender un poco más
https://www.youtube.com/watch?v=Z0yLerU0g-Q

mi UML esta un poco oxidado pero para los que andan un poco mas perdidos que yo (según vi nadie comento de esto) lo que ann esta haciendo se llama modelo entidad-relación:
este modelo sirve para ver quienes son o que cosas intervienen en el proceso(flujo) del sistema pueden ser actores(como usuarios, vehículos) y los procesos que hay en el sistema(como pedir el auto al sistema(arrendar))
los actores pueden intervenir en el sistema en ambas vías (alimentar y recibir información), también pueden interactuar entre si al igual que los procesos.
los procesos son los que interactúan con el medio y los usuarios y también pueden interactuar entre si, y tienen entradas y salidas
(hay mas conceptos y reglas pero en resumen es eso).
PD: Luego de tener la diagramación viene el proceso de casos de uso
**siéntanse libres de compartir, comentar, mejorar, complementar.
y espero haber aclarado un poco a los que estaban mas confundidos que yo …saludos!! **

Tiene bonita letra la profe :c

no comparto con @ancode que se tipifique el objeto automovil en sus distintos tipos de vehiculos según su envergadura.
El porte Van / Black / X / Pool lo interpreto como que es una propiedad del objeto Automovil. Espero lea este post y me lo aclare la docente. Saludos!

Así ya todo va tomando un sentido

dos puntos por terminar de ver el video :v

Analizando Uber en Objetos

  1. usuario: tienen un celular y tiene la necesidad de trasladarse de un punto al otro
  2. Usuario: solicita un auto y le asigna desde que punto a que punto quiere desplazarse.
  3. Apps uber: mostrará al usuario un catálogo de autos los cuales serán: uber x, uber pool, uber black, uber van. En este paso también está incluido nuestro conductor.
  4. Usuario: espera el auto que ya hemos elegido desde la aplicación previamente. En este punto nos estará trasladando y nos cobrará un monto por el servicio.

En el paso 1:

  • Usuario —> solicita el auto.

En el paso 2:

  • Ruta.

En el paso 3:

  • Uber x
  • Uber pool
  • Uber black
  • Uber van
  • Drirver

En el paso 4:

  • Cash
  • Paypal
  • Card

Último objeto y es de tipo conceptual

  • Trip

Les dejo mi dibujo del análisis 😄.

Resumen de la Clase:

Analizando Uber en Objetos

  • Análisis del problema:

  • Análisis de los Objetos:

    User
    Route
    Driver
    UberX
    UberPool
    UberBlack
    UberVan
    Trip
    Cash
    Card
    Paypal
Muy bien explicado
A mi se me ha enseñado que para poder llegar al diagrama de clases se pasa por fases una de análisis y otra de diseño. El análisis orientado a objetos se ve: -Diagrama de casos de uso -Casos de uso narrado -diagrama de secuencia -diagrama del dominio(diagra de clases sin métodos) este puede contener clases que pueden ser descartadas en el diagrama de clases. Diseño orientado a objetos: este parte del punto anterior y del diagrama del dominio -Diagrama de secuencia(obtenido en el análisis) -Diagramas de interacción -Diagrama de clases

Los flujos de trabajo también son útiles para ayudar a los empleados a entender sus funciones y el orden en el cual se completa el trabajo, y para crear más unidad dentro de departamentos diferentes. Con sus orígenes en la industria manufacturera, los flujos de trabajo ahora se usan en una variedad de industrias, desde el gobierno hasta las finanzas y el comercio, y son más sencillos que nunca de crear.

Objetos de adopción

  • Mascota
  • Cliente
  • Vendedor
  • Proceso de adopción

Polimorfismo
Podemos encontrar términos como súpercalse y que la herencia se llama subclase.
Como hemos hablado anteriormente al instanciar un objeto o clase de una clase padre estaremos automáticamente heredando sus atributos y métodos pero en ocasiones debemos cambiar la forma de proceder de esos métodos, en esta ocasión debemos rescribir este método para que haga lo que es correcto en el momento justo.

Faltó también el objeto Phone.

Identifico estos, adicionales, la factura por el servicio, y el sistema de calificaciones.

Increíble.

Como objeto conceptual en todo proceso de compra-venta o donde se transmita información en el sistema debe existir una clase para poder manipular la información del proceso ej.
Tendremos un objeto del comprador y vendedor cada uno con sus respectivos atributos. pero tambien deberemos tener un objeto venta para manipular la fecha de venta,la cantidad de cosas que se compran,el id de compra

Buenas noches compañeros, bueno para mí los objetos estarían dados de la siguiente manera:

Objetos conceptuales:

  • Proceso de adopción

Objetos concretos:
+Perro
+Persona

Como el ejercicio dice que hay que identificar los objetos no más, lo dejo asi. Me dicen por favor si estoy mal en algo.

Estupendo análisis instructora Anahí. No conocía que Uber tuviera otras formas de clasificar a los vehículos a parte del X y el Van, también recalco que debemos estar atentos para poder hallar aquellos objetos que son del tipo conceptual, así podremos realizar un trabajo más completo.

Los diferentes tipos de carro son el ejemplo perfecto para explicar herencia.

¿Por qué no tener un solo objeto vehículo en vez de uno por cada tipo de automóvil? ¿Y por qué no un objeto payment en vez de uno por cada método de pago?

Existen objetos fisicos y conceptuales.
Para este primer analisis incluimos diferentes objetos, tales como: Uberx, ubervan, uberpool, uberblack. Estos posteriomente se pueden agrupar en una clase; pues poseen caracteristicas similares. Asi mismo con el tipo de pago.

Me ha quedado una duda. 😦 No podríamos crear un solo objeto llamado “card” y un atributo donde diferencia el tipo de coche?

Buena explicación. Todo super claro!

Muy buena clase!

por aquí un curso de UML en YouTube
y otro por aquí

En UML es cuando empieza a desglosar el problema y dividirla en objetos, para poder distinguir en que parte interviene dentro del problema, dependiendo del analisis que se vaya a realizar de manera calmada y sin afanes.

UML es super importante para el arranque de cualquier proyecto.

Me muero de la risa de la “elegancia” al dibujar de Anahí … Gracias por esos momentos y ya somos dos (dibujo igualito a cuando estaba en preescolar!!!)

La mejor clase que en todo Platzi he visto. Gracias Anahí

El conductor súper feliz de llevarnos jaja

falta el über coptero 🚁

al desglosar el servicio Uber se empiezan a ver los objetos que están involucrados que en esta primer vistazo se observaron

SUV no es por SUVURBAN, (y de hecho es SUBURBAN) es Sport Utility Vehicles… mal ahí.

Uber es una plataforma que conecta a quienes conducen y realizan entregas con usuarios, clientes y restaurantes. En las ciudades donde Uber está disponible, puedes usar la app para pedir un viaje.
El viaje termina cuando llegas al destino y bajas del vehículo.

uberX: confort y seguridad en cada viaje. …
uberX VIP. …
uberXL: comodidad y economía en grupo. …
UberBLACK: un poco de estilo en cada viaje. …
UberSUV: estilo y confort en grupo.

El lenguaje unificado de modelado (UML, por sus siglas en inglés, Unified Modeling Language) es el lenguaje de modelado de sistemas de software más conocido y utilizado en la actualidad.

Alguien sabe la aplicación que se utiliza para hacer estos bocetos? me parece genial hacer así mi análisis.

Ojalá en el futuro tengan un curso de UML para profundizar en el tema. 💚

Hola. Les recomiendo Lucidchart para diagramar modelos UML

en mi ciudad no hay uber xD

OBJETOS: Persona, Perro, LugarDeAdopcion, Donativo.

Lo hice primero y después vi el video casi Lo hize igual

Análisis de los objetos presentes en Uber

Creo que sería más sencillo definir un Objeto Vehiculo y en sus propiedades agregar los tipos de vehículos.
Los mismo para el pago.

objeto mascota objeto adoptante objeto realizarAdopción

Los bocetos de la TESLA Cybertruck!!! 🤩

Uhhh qie genial, me gusta esta forma de resolver los problemas, puestos en lista sería algo como:

  1. Planteas el problema
  2. Analizas la situación
  3. Sacas los objetos físicos presentes
  4. Sacas los objetos conceptuales
  5. Una vez con los objetos ya sacados y sabiendo qué es loq ue necesitamos, ya podemos hacer un diagrama UML!

Se entendio los objetos conceptuales de una mejor forma con esto.

Entendi, tuve algunas dudas pero con algunos comentarios creo las solucione. De igual forma hay que seguir para que viene.

Genial!!

Excelente clase

Me encantó la clase!!

un curso donde enseñen todos lo diagramas mencionados actividades,interaccion,etc

tratandose solo de adopción:

-mascota
-propietario
-adoptador
-tramite

Todos hablan de la importancia de la importancia de UML pero la realidad es que a día de hoy no lo utilizamos como se debe.

wao que buena explicacion ❤️

Muy buena clase! muchas gracias!

Muy interesante este análisis.

Me gusta mucho que usen un ejemplo de la vida real para explicar y desarrollar este paradigma, felicitaciones!

Que buen ejemplo, 10/10

Esta clase me ayudará bastante ñ. muchas gracias.

Dividir el problema en pequeños sub problemas

QUE ES UNA CLASE:
-MODELO por el cual se van a permitir nuestros objetos.
-Permiten generar mas objetos.
- Separar las clases en archivos diferentes.

MODULARIDAD:
-Subdividir un sistema en partes mas pequeñas.
VENTAJAS DE LA MODULARIDAD:
• Reutilizar código
• Evitar colapsos.
• Mantenible.
• Legibilidad.
Resolución de problemas

Gran explicación.

Genial! ahora si a diagramar 😃

Excelente ejemplo

😃

Bien explicado!

Excelente explicación

perfecto

Tremendo ejemplo!

deberian colocar tambien el dedo apuntando hacia abajo para los comentarios, hay unos comentarios bien malos aqui, hay que puntuarlos tambien >:)

Se identificaron los Objetos que están presentes dentro de nuestra aplicación Uber.

Gran explicación! 😮

Muy interesante el análisis de Uber en objetos.😁