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

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

Reto 2: analicemos un problema

17/37

Lectura

Imagina que nuestro sistema de adopciones creció y ahora ofrece adoptar pericos, loros, gatos y hamsters.

Genera un nuevo análisis, aplica herencia para abstraer mejor el problema y lograr modularidad en el software.

Comparte tus resultados en la sección de discusiones.

Aportes 849

Preguntas 13

Ordenar por:

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

Aquí un diagrama en UML, donde se puede apreciar la herencia y al análisis logrando modularidad, lo hice con la versión de prueba de StarUML

que tal asi ??
(

Se me ocurre lo siguiente:

Clase Persona para generalizar a Adoptante y a Empleado

Clase Animal para generalizar Perico, Loro, Gato, Perro, Hamster

![](

Así es como veo el modelo, acepto sugerencias 😃

![](

Lo interpreto de esta manera, espero que alguien me pueda brindar feedback

Aplique herencia en animales, jaulas, personas y sus documentos:

Reto completado!

Hi
Les comparto mi diagrama, cualquier cosa no duden en preguntar

Un saludo!

![](

Esta sería mi implementación:

![](

Este sería el prototipo básico para que el sistema funcione, aunque por supuesto la complejidad se puede seguir escalando:

Saludos!

. Hacer estos diagramas puede ser muy entretenido o puede volverte loco

Aqui les dejo mi diagrama.

¡Listo!

Descubrí que existe una extensión en VS Code para poder hacer diagramas de UML se llama
PlantUML

Esto es mi aporte, espero todo esté bien.

Les comparto mi diagrama UML. Cualquier corrección o comentario, lo agradecería.

Hola todos, aquí algunas convenciones sobre como nombrar clases 😃

Nombre: Se escribe en singular, con la primera letra mayúscula.
Atributos: Se escriben en camelCase y se define el tipo de dato.
Métodos: Se escriben en camelCase y se definen sus parámetros y tipificación.

Si un objeto pertenece a una clase especifica, pertenece a su vez a todas las superclases, pero no a las subclases, por esto, definir bien als categorias de las clases te ayudara mucho. Yo definiría Animal --> Mamifero, Reptil, Ave o Pez, Esto me permite escalar aun más el alcance de mi proyecto.

Aún no sé cómo subir imagen jaja, pero les comparto: hice un súperclass llamado identify con atributos:

id
name
age
Sus hijos son las clases Adoptand que queda sin atributos y con el proceso de adoptar y Animal con los atributos:

animalType
vaccines
y los procesos de comer, respirar y defecar.

Hice otra clase llamad Adopting, con asociación hacia la clase Animal y el artibuto date, pero de la clase Adoptand no sé si la simbología es de asociación, herencia o agregación.

Es un poco aburrido pero necesario para comprender mejor el funcionamiento de nuestro programa y POO 😄

Mi análisis basico:

Utilicé la herramiento LucidChart Diagrams para realizar el siguiente esquema UML

No me permite subir la imagen de mi diagrama, alguien puede ayudarme???

SUPER CLASE Animal
*id
*nombre
*genero
*tamaño
*raza
SUB CLASE
*perro
*gato
*loro
*hamster

Super Clase Cliente

  • nombre
    *documento
    *genero
    *edad
    Sub Clase
    *Adoptado
    *Encargado

Claro que falta refinamiento, pero conforme avancemos en el curso, se pulirá:

Este fue mi intento…




![](

![](

Superclase Animal
Subclases:
-pericos
-loros
-gatos
-hamsters
-perros

Superclase Persona
Subclases:
-adoptante
-gestor de solicitudes
-encargado de entregas

Superclase Lugar
Subclases:
-centro internamiento de perros
-centro entrega de perros

Superclase Comunicación
Subclases:
-email
-teléfono

**Superclase Documentación–
Subclases:
-papelesDelAnimal
-contratoDeAdopción

Hola, dejo por aquí mi análisis, me gustaría recibir retroalimentación de ser posible, ya que anteriormente tuve una materia de POO en la U, pero siento que he perdido la práctica y que solo aprendí por encima. Muchas gracias a todos
(

![](

Cuál modelo se adaptará mejor?:
OPCIÓN 1:

OPCIÓN 2:

Veo que hay muy buenos ejercicios. Comparto el mio que siento bastantes simplificado. Espero comentarios.


Listo 😉

Aquí mi diagrama UML con método de pago incluido (agregué Bitcoin, hay que estar la día jeje). Me gustaría lo comentasen y si ven un error, por favor no dude en decírmelo.

Comparto mi diagrama de clases:

Análisis para crear la superclase Animal 😃

mi solución, acepto feedback

Hola! Hello! Hallo!
Comparto mi resultado.

Gracias.

Diagramas.netpara los que deseen hacer sus diagrams online.

Esta es la versión 2.0 del reto, este diagrama UML lo cree a través del software StarUML. Use el concepto de relaciones entre clases
💻💚

Hola Team Platzi! 😄

Comparto mi aporte del diagrama 😄

Aquí está el mío

Comparto y dispuesto a recibir recomendaciones. Gracias