Soy perverso para crear memes pero fue inevitable pensar en esto xD :
Bienvenida e Introducción
¿Por qué aprender Programación Orientada a Objetos?
¿Qué resuelve la Programación Orientada a Objetos?
Paradigma Orientado a Objetos
Lenguajes Orientados a Objetos
Instalando Visual Studio Code
Diagramas de Modelado
Qué es UML
Orientación a Objetos
Objetos
Abstracción y Clases
Modularidad
Analizando Uber en Objetos
Reto 1: identificando objetos
Programación Orientada a Objetos. Análisis
Clases en UML y su sintaxis en código
Modelando nuestros objetos Uber
¿Qué es la herencia?
Aplicando Herencia a nuestro proyecto Uber
Reto 2: analicemos un problema
Clases, Objetos y Método Constructor
Creando nuestras carpetas iniciales para el curso
Definiendo clases en Java y Python
Definiendo Clases en JavaScript
Objetos, método constructor y su sintaxis en código
Objetos. Dando vida a nuestras clases en Java y Python
Declarando un Método Constructor en Java y JavaScript
JavaScript orientado a objetos, lo más nuevo
Declarando un método constructor en Python
Herencia
Aplicando herencia en lenguaje Java y PHP
Solución del reto de herencia en PHP
Aplicando herencia en lenguaje Python y JavaScript
Otros tipos de Herencia
Reto 4
Encapsulamiento
Encapsulamiento
Encapsulando atributos en Java
Polimorfismo
Generando polimorfismo en Java
Generando polimorfismo en PHP
Cierre del curso
El Diagrama UML de Uber
Conclusiones
Bonus: Qué es la Programación Orientada a Objetos
La programación Orientada a Objetos nace de los problemas creados por la programación estructurada y nos ayuda a resolver cierto problemas como:
Código muy largo: A medida que un sistema va creciendo y se hace más robusta el código generado se vuelve muy extenso haciéndose difícil de leer, depurar, mantener.
Si algo falla, todo se rompe: Ya que con la programación estructurada el código se ejecuta secuencialmente al momento de que una de esas líneas fallara todo lo demás deja de funcionar.
Difícil de mantener.
Aportes 262
Preguntas 23
Soy perverso para crear memes pero fue inevitable pensar en esto xD :
Soy programador de c para disositivos embebidos y deseo aclarar que no todo se puede resolver por POO, y que el problema de la programación spagueti no es implicito del tipo de programación solo es una mala costumbre, primero al no dividir en varios archivos un proyecto de forma logica, se debe tener ciudado ya que al programar POO tambien podemos hacer una mezcolanza y la culpa seria del que la programo no del lenguaje.
¿Qué resuelve la Programación Orientación a Objetos?
- Principalmente esos problemas y huecos que nos deja la programación estructurada tales como:
1.Código muy largo:
2.Si algo falla todo se rompe
3.Código Spaguetti: Muchas sentencias de control anidadas y pérdida de control sobre el código.
- Simplifica la programación, la hace más práctica, divertida y amigable.
Unos dirán que es código espaguetti otros que es Inteligencia Artificial.
Huecos que la programación estructurada no resuelve, por lo que la estructuración por objetos surgió como una solución.
El entusiasmo de la profe por enseñar no tiene precio
jajajajajajaja
Yo actualmente trabajo con COBOL y mi programa favorito tiene poco mas de 40000 lineas 😃
Enlace al Curso de Programación Estructurada 😉: https://platzi.com/clases/programacion-estructurada/
📦 La Programación Orientada a Objetos permite que tu experiencia desarrollando software, sea placentera.
POO vs Netflix bandernach :V
Me dieron mi pedrada!!
Yo programo en Fortran y tengo mis programas de 2 mil líneas 😦
Al final del curso veré si se cumplieron las promesas de la programación orientada a objetos.
Excelente presentación de las malas prácticas de programación.
La malas prácticas de programación no se erradican por el solo hecho de basarse en otro paradigma.
Se puede decir que si la programación orientada a objeto viene de la programación estructurada es una instancia de esta? (Por cierto es chiste jaja!)
Sos la mejor profesora hasta ahora. Tenes la mejor pedagogía
Nos resuelve:
La programación orientada a objetos viene a simplificar estos problemas, hacer el código más sencillo y fácil de programar.
Vaya que si noto la diferencia con tan genial explicación.
Maravillosa profesora y excelente clase 😃
Yo inicie en el ambito laboral programendo en Cobol y llegue a ver programas de 40,000 lineas, era una locura meterle mano a ese programa.
La programación orientada a Objetos soluciona los problemas que nos dejo la programación estructurada.
Una de las cosas que mas nos afectan a los programadores es acostumbrarnos a programar utilizando malas prácticas ya que es muy difícil dejar de hacerlos, pero una vez que aprendemos a trabajar con buenas prácticas vemos que todo es mas sencillo y fácil asi que compañeros… ¡No se rindan y núnca paren de aprender!
El Famoso Código Espagueti 🍝
Les comparto una publicación en Platzi sobre POO 💚
https://platzi.com/tutoriales/1545-c-plus-plus/9141-que-es-la-programacion-orientada-a-objetos-poo/
Programo desde hace años, pero me llamo la atención el curso por que Anahi es una gran profesora
Programadores vintage 😂.
Ya regreso. Voy a ver el curso de Programación estructurada!!!
yo soy amante de la programación estructurada, pero hay que adaptarse, mas liviano mejor, mas comprensible mejor, si lo puedes aislar lo puedes solucionar, son algunas de las frases que se me vienen a la mente con esto de la POO, ha seguir aprendiendo 😃
Creo que el codigo espaghetti excede el ambito programacion funcional u orientada a objetos. Al desarrollar funciones muchas veces esta la opcion de desglozarla en funciones mas pequeñas que eviten el codigo espaghetti y sean mas claras de interpretar y en la programacion orientada a objetos puede verse ese mismo codigo en un metodo (es inusual pero he visto if anidados que podian refactorizarse y escribirse de otra forma). Es decir, considero que corresponde a las buenas practicas mas que a la estructura de la aplicacion. Lo que si es verdad es que la orientacion a objetos lleva mas naturalmente a programar sin codigo espaghetti.
Trabajo en un banco, he visto programas en Cobol, y un solo programa es muy extenso, difícil de comprender.
OMG OMG OMG OMG !!!
LLegué aquí porque esta es mi mayor duda existencial: POO
Yo todavía veo codigo de ese tipo en la programación orientada a objetos ;__; es como una pesadilla
me gustaría programar apps de educación musical para empezar…
Deberían dar una carrera de java en platzi con anahi como profesora .
saludos!
Se nota ese don increíble que tienen varios profesores de Platzi al enseñar… La pasión se transmite… Genial! 😃
Programación Orientada a Objetos
“Nace de los vacíos generados que la programación estructurada no resuelve, por lo que la estructuración por objetos ++surgió como solución”++
¿PARA QUE SIRVE?
Tomar el control del proyecto y el código.
Podemos realizar código de calidad y proyectos profesionales
Ayuda a leer, depurar y mantener código que puede ser muy largo
Evita que todo se rompa si algo falla
Facilita el mantenimiento del código
Evita generar un código espagueti.(aquel que tiene demasiadas sentencias de control)
en resumen la POO resuelve los problemas de codigo espagueti, escribir muchas lineas de codigo y cuando el codigo esta mal no se rompe la aplicacion
ayuda a la simplicidad del codigo
poo= simplicidad!
Excelente clase.
antes ??? … yo aun encuentro scripts con 2k de lineas de codigo XD
La programación orientada a objetos se dedica a resolver muchos de los problemas que tiene la programación estructurada tiene, tales como:
POO tiene dos corrientes principales:
¿Nos puedes dejar un enlace del curso anterior?
El de programación estructurada
Que interesante, estos problemas a resolver se identifica conmigo.
Tanto en realizar codigos largos, y si realmente terrorifico , como es tan largo el codigo localizar el fallo es mas complicado
Es interesante como la programacion orientada a objetos resuleve estos problemas.
Es utilizada para solucionar los problemas que la programación estructurada no puede llegar a resolver. La programación orientada a objetos evita que creemos código desordenado, ilegible y dificultoso de mantener. Desde esta idea parte una serie de soluciones que ofrece este paradigma: eliminar código innecesario y por consiguiente facilitar el mantenimiento del mismo.
Muchas gracias por la buena explicación y entusiasmo C:
Qué resuelve la programación a objetos
resuelve los huecos de programación estructurada
la poo que intenta es simplificar la complejidad
La programación orientada a objetos resuelve problemas que resultan de la programación estructurada. Esperaba con ansias este curso para complementar todo lo visto en el challenge de python y poder programar en forma mis aplicaciones.
Excelente clase 😃
Codigo Espagueti jajaja 😄 siempre me antojan de comida …
**La profe Anai **= Si algo falla, todo se rompe como no colocar un " ; ".
**C# **= Me hablaron?
¿A qué se refiere el término mantener?
Cuando hablamos de mantener código hacemos referencia a que en el futuro tu código puede generar errores (bugs) y es necesario modificarlo o puede que necesites agregar otras funcionalidades al programa. El código mantenible permitirá una mejor lectura del mismo.
Les comparto este repositorio que sirve de guía para el examen final, pues contiene las preguntas que se encuentran en el examen, la justificación y el video del curso donde se habla sobre eso. Espero y les sea de utilidad 😄.
Platzi-Test
Oigan, pasa algo si no vi antes el curso de programación estructurada??? estoy viendo este curso por que llevo POO en este semestre
El código espagueti también es muuuy común en los html, he visto cosas horribles.
Tal vez sería interesante alguna especie de nuevo html orientado a objetos, aunque los sitemas con plantillas son bastante poderosos… (sólo divagué un poco)
Resumén de la clase:
¿Qué resuelve la Programación Orientada a Objetos?
Permite resolver muchos de los “huecos” que tiene la programación estructurada. Entre los problemas que resuelve están:
Soy de la época de la programación estructurada y he llegado a ver programas de más de 5000 líneas.
Hola, yo vengo de aprender a golpes contra pared en VBA para macros en Excel. Llegué a desarrollar códigos de más de 19 páginas en word sin interlineado. Y sí, copiaba mucho código y es horrible! En verdad que espero mucho aquí para ya poder migrar de la ofimática a este tipo de soluciones
La programación estructurada, es un código con un principio y fin líneal. La desventaja es un código largo, complicado y difícil de mantener.
La POO ataca estos problemas.
La programación orientada a objetos es un complemento a la programación estructurada. Sin embargo, la programación estructrada presenta varios problemas. Uno de ellos es que no es efectivo a medida que aumenta el tamaño del programa, es dificil a veces encontrar los errores del programa por su tamaño. En ese caso. la programación orientada a objetos controla efectivamente esos errores, y evita el código espagueti. Por tanto, la programación orientada a bjetos simplifica la programación.
Aprendí a programar con programación estructurada. Pero claro, la POO es mucho más fácil y sencilla de entender.
Ya no más código espagueti 🍜
Ann lo que mucho les falta a algunos profesores en las universales
He usado la programación estructurada durante algún tiempo y espero que la POO me ayude a llegar más lejos.
Es bonito cuando tienes el código simplificado y lo comparas contra el que no. Da mucha satisfacción.
POO = Felicidad XD
En la programación estructurada existen funciones que permiten reutilizar código, pero la programación orientada a objetos hace una abstracción mayor e introduce características como herencia, sobrecarga de métodos, entro otras que mejoran la reutilización de código.
Que interesante y Que importante es entender el contexto de POO!
Estoy enamorado…
¿Qué resuelve la POO?
entendi la clase!
If, else, if else, es como funciona mi primer bot hecho con python y selenium, ahora tengo que mejorarlo
Este video gráfica la evolución de los lenguajes de programación a través del tiempo (1965 - 2019), cómo es que han ido cambiado de acuerdo al número de personas que los utilizan.
Es interesante ver cómo se fueron imponiendo los lenguajes de POO.
https://www.youtube.com/watch?v=2vQFKcqJF1w
excelente clase
Difícil de mantener
Si algo falla todo se rompe
Nos ayuda a tener código más breve. Haciendo más fácil el leer, depurar y mantener el código.
¿Quién inventó la POO?
Kristen Nygaard es reconocido internacionalmente como co-inventor de la programación orientada a objetos y el lenguaje de programación Simula, junto con Ole-Johan Dahl en los años 1960.
Lo bancos siguen. Utilizado cobol todo es programación estruturada
Estupenda clase 😄.
¿Qué es la Programación Orientada a Objetos?
Es el modelo o estilo de programación que nos da unas guías sobre como trabajar.
.
Es basado en el concepto de clases y objetos.
.
Este tipo de programación es utilizado para estructurar un programa de software en piezas simples y reutilizables de planos de código (clases) para crear instancias individuales de objetos.
Información resumida de esta clase
#EstudiantesDePlatzi
Necesitamos que el código que escribamos sea eficiente
La programación orientada a objetos resuelve los problemas de código muy largo
También soluciona el problema de que si algo falla todo se rompe dentro del código y la cuestión de que el código se volvía difícil de mantener como lo era la programación estructurada
La programación orientada a objetos viene a simplificar la programación
Resuelve principalmente los problemas y huecos que nos deja la programación estructurada tales como:
La finalidad de POO es simplificar la programación, hacerla más práctica, divertida y amigable.
No vengo de programacion estucturada… vengo de python basico :c
¿Qué resuelve la programación a objetos?
Este curso está en la línea de Data Analyst. En esta lección se dice que debe tomarse antes el de programación estructurada que no hace parte de esa escuela… Creo que este tipo de cosas deben revisarse y corregirse en el diseño de las rutas.
QUE RESUELVE LA POO
justo acabo de hacer un script que me pidieron y si esta lleno de if 😦
Nace de los huecos de problemas que la programación estructurada no puede resolver eficientemente.
De entre las ventajas que brinda son:
- Evita programar código muy largo
- Los fallos no provoca que todo se rompa
- Hace más fácil el mantenimiento
- Evitar generar Código espagueti
Esta semana me topé con un controlador que tiene más de 18.000 líneas de código.
Un ejemplo de esto:
Esto es correcto, programo desde el año 97 iniciando con C++, C, FoxPro; la programación lineal era una locura porque el compilador de estos programas cuando se ejecutaba y retprnaba un error no decía en que linea, y cuando lo decía pues allá no estaba el error. Cuando esto empezó era muy complejo porque adicional no estaban los Platzi, muy poca info en internet, el trabajo era agruparnos y tirar código ayudando a revisar el error del otro. Hoy tenemos grandes oportunidades de seguir formandonos y estamos en el momento de hacerlo. Java es una forma muy bella de tirar código, ánimo! Tuve programas de 2500 lineas y más.
El código espagueti jajajjaa
informacion muy completa que me resuelvio muchas dudas
¿Qué resuelve la Programación Orientada a Objetos? 2/37
POO resuelve las deficiencias de la programación estructurada, a medida que crecen los programas
se necesita:
Reutilizar código.
Que sea más corto.
Simplifica la programación.
Programación estructurada tiende a crear:
Debido a su gran tamaño los programas son difícil de mantener, de leer, de entender, de depurar
La ejecución secuencial hace que sean difíciles de controlar, de mantener, si una línea falla, todo falla.
Código espagueti con demasiados saltos en el programa lo que dificulta su comprensión, demasiadas secuencias de control anidadas que dificultan saber que parte del código se ejecuta
Poca legibilidad del código
Estuve viendo muchos comentarios de que se debería hacer el curso de programación estructurada para poder entender este, y no estaba tan seguro así que de frente decidí hacer el examen y evaluarme y saque 25/28 lo que note es que la mayoría de preguntas relacionadas al temario del curso ya las he visto anteriormente (ya que hablan de variables, loops, condicionales, tipos de datos, principalmente) y que considero que para los poco/nada cursos que he realizado la verdad estaría completamente en la capacidad de entender este, ya que estado siguiendo la ruta de desarrollo web y si bien no aprobé el curso directamente considero que no es una mala nota para ver que solo vi una clase, ya que creería que con el curso básico y practico de js algo algo se me han afianzado los conceptos.
Creería que si no estas seguro de tomar o no el curso da el examen para que te evalúes y si estas fatal, pues si deberías hacerlo para reforzar conocimientos sino pues a seguir aprendiendo 😃
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?
o inicia sesión.