Proyecto que desarrolle en el curso de POO de @Platzi.
Para resolver un problema como desarrollador es de gran utilidad dividirlo en subproblemas y generar un modelo que te permita implementar las soluciones en código. A lo largo de este curso analizamos Uber, una de las aplicaciones más usadas en el mundo, para entender cómo está construida. A partir de este análisis hicimos la extracción y definición de los objetos, clases y métodos que conforman la aplicación, usamos el siguiente diagrama UML para modelarla y, finalmente, usando diferentes lenguajes como Java, PHP y Python hicimos la implementación de las clases y objetos de la aplicación.
---
title: Uber UML
---
classDiagram
Account <|-- Driver
Car --> Driver
Trip --> User
Car <|-- UberX
Car <|-- UberPool
Car <|-- UberBlack
Car <|-- UberVan
Payment <|-- Cash
Payment <|-- Card
Payment <|-- PayPal
Trip *-- Car
Trip *-- Route
Trip *-- Payment
Account <|-- User
class Account{
+int id
+str name
+str document
+str email
+str password
}
class Car{
+int id
+str license
+str driver
+str passengers
}
class UberX{
+str brand
+str model
}
class UberPool{
+str brand
+str model
}
class UberBlack{
+typeCarAccepted
+seatsMaterial
}
class UberVan{
+typeCarAccepted
+seatsMaterial
}
class Trip{
+ route
+car
+payment
}
class Route{
+origin
+destination
}
class Payment{
+int id
+float cost
}
class Card{
+int number
+int cvv
+str date
}
class PayPal{
+str email
}
El Encapsulamiento es hacer que un dato sea inviolable, inalterable cuando se le asigne un modificador de acceso.
Muchas formas. Poli = muchas, morfismo = formas. NO es Poliformismo Es construir métodos con el mismo nombre pero con comportamiento diferente