Sergio Brandon De Lucio Chavero
Christian Velázquez
Gracias.
Erick Alejandro Graterol Barico
Mi Primer lenguaje PSEINT
¿Qué es la programación orientada a objetos?
La programación orientada a objetos (POO) es un paradigma que ofrece una manera organizada y eficiente de desarrollar software. A través de este enfoque, puedes modelar elementos del mundo real como objetos dentro de tu aplicación, cada uno con características específicas y funcionalidades que interactúan entre sí. Lo importante de la POO es cómo busca resolver problemas mediante el orden y la reutilización de código, lo que impacta directamente en la eficiencia y adaptabilidad de tu aplicación.
¿Cuál es la importancia de los paradigmas en programación?
Un paradigma de programación es un estilo o enfoque para resolver problemas de programación. No existe un método único para resolver un problema, y ahí es donde los paradigmas cobran importancia, ya que ofrecen distintas maneras de abordar un desarrollo. Entre los paradigmas más conocidos se encuentran:
Cada paradigma surgió para solucionar dificultades específicas de paradigmas anteriores, y la elección de cuál utilizar depende del contexto y las necesidades específicas del proyecto.
¿Cómo ayuda la programación orientada a objetos a organizar el código?
La POO ofrece un gran avance al proporcionar un marco para mantener tu código en forma ordenada y coherente. Imagina un proyecto como Platzi, donde existen cursos, estudiantes, comentarios, etc. Cada elemento es un objeto individual, lo cual:
Por ejemplo, cada estudiante en Platzi se modela como un objeto individual, con atributos como nombre y edad, y métodos para manejar su lista de cursos. Esto no solo mantiene el orden, sino que también hace que el sistema sea más intuitivo y manejable.
¿Por qué es importante la reutilización de código?
La reutilización es otro pilar fundamental de la POO que envuelve la idea de clases y prototipos. Las clases actúan como moldes o plantillas para crear múltiples objetos similares sin necesidad de reescribir código. Esto es especialmente útil para:
El concepto puede parecer similar a usar un molde para hornear la misma galleta varias veces; una inversión inicial genera eficiencia en el largo plazo.
¿Cómo se implementa la POO en JavaScript?
JavaScript implementa la POO a través de prototipos, en lugar de clases tradicionales como en otros lenguajes. Aunque también permite utilizar una sintaxis de clases, esta se traduce internamente a prototipos. La elección entre prototipos y clases depende del estilo de programación preferido, pero ambos métodos permiten definir:
JavaScript destaca por su flexibilidad al permitir implementar POO de múltiples formas, facilitando el trabajo del programador al adaptarse a distintos tipos de necesidades.
Finalmente, recuerda que continuar aprendiendo y explorando el mundo de la programación te abrirá muchas oportunidades. A medida que adquieras más habilidades técnicas y conocimiento teórico, podrás aplicar la POO de maneras más eficientes e innovadoras en tus proyectos. ¡Sigue adelante!
Sergio Brandon De Lucio Chavero
Christian Velázquez
Gracias.
Erick Alejandro Graterol Barico
Mi Primer lenguaje PSEINT
Los paradigmas son distintas maneras de programar, los más comunes son:
Un paradigma NO es mejor que otro, depende de la situación y el contexto.
Cada lenguaje puede trabajar con 1 o varios paradigmas.
Ventajas de POO ✅:
Los objetos tienen métodos (funciones) y atributos (características).
Sebastian Heredia
Pequeño ejemplo :)
Supongamos que somos los creadores de minecraft y sabemos que todo se compone de cubitos. Entonces de esta manera sabemos que todos los cubos tienen la misma apariencia en cuanto a forma y son cuadrados, así que vamos a crear un molde general o clase llamada "Cubo"
. Pero por supuesto si todo fueran cubos y ya seria totalmente aburrido así que vamos a ponerle propiedades o atributos a cada cubo. Por ejemplo tendremos:
Y cuanto mas tipos de cubos tengamos mejor ya que el juego tendrá una mejor apariencia. Pero que aburrido seria solo poder navegar entre cubos sin poder hacer ninguna interacción así que vamos a crear métodos o acciones para diferentes tipos de cubos. Por ejemplo tendremos:
.
Y de esta simple manera podemos entender en ejemplos prácticos y sencillos como funciona al paradigma de POO.
.
¡Espero te sirva! :)
José Iván Ballín González
Excelente explicación mi estimado
Laura Roa
Me encanto tu explicacion!! Gracias!
Paula Andrea Hayle
166.66 HORAS PARA LAS 10,000 GALLETIKAS
6.944 DIAS
1 SEMANA. (SIN MOLDE)
de nada :*
Alfonso Neil Jiménez Casallas
jajajajajaja, la rompes! XD
David Gomez
Hola Paula! A mi me dio distinto.
Si en 30 minutos me demoro en el molde y a partir del mismo me toma 5 minutos hacer 10 galletas, quiere decir que las 10.000 galletas se toman 5.000 minutos (u 83.33 horas), a esto le debo sumar los 30 minutos de la construcción del molde, por lo que el resultado es 5.030 minutos con el molde.
Ahora, sin el molde me tomo 5 minutos en hacer solo una galleta, para hacer 10.000 nos tomaríamos 50.000 minutos u 833.33 horas.
Fernando Quinteros Gutierrez
📼 Qué es programación orientada a objetos
Ideas/conceptos claves
Los prototipos son un mecanismo mediante el cual los objetos en JavaScript
heredan características entre sí
Apuntes
Paradigmas
Programación Orientada a Objetos
🔠 Orden
🍪 Reutilizar
📌 **RESUMEN:** La programación orientada a objetos es un paradigma. Un paradigma es un conjunto de lineamientos o guías que nos ayuda a resolver un problema específico.
Luis >
Qué es programación orientada a objetos
La Programación Orientada a Objetos (POO, en español; OOP, según sus siglas en inglés) es un paradigma de programación que viene a innovar la forma de obtener resultados. Los objetos se utilizan como metáfora para emular las entidades reales del negocio a modelar.
Origen
Los conceptos de la POO tienen origen en Simula 67, un lenguaje diseñado para hacer simulaciones, creado por Ole-Johan Dahl y Kristen Nygaard, del Centro de Cómputo Noruego en Oslo. En este centro se trabajaba en simulaciones de naves, que fueron confundidas por la explosión combinatoria de cómo las diversas cualidades de diferentes naves podían afectar unas a las otras. La idea surgió al agrupar los diversos tipos de naves en diversas clases de objetos, siendo responsable cada clase de objetos de definir sus "propios" datos y comportamientos. Fueron refinados más tarde en Smalltalk, desarrollado en Simula en Xerox PARC (cuya primera versión fue escrita sobre Basic) pero diseñado para ser un sistema completamente dinámico en el cual los objetos se podrían crear y modificar "sobre la marcha" (en tiempo de ejecución) en lugar de tener un sistema basado en programas estáticos.
POO en JavaScript
JavaScript (abreviado comúnmente JS) es un lenguaje de programación interpretado, dialecto del estándar ECMAScript. Se define como orientado a objetos, basado en prototipos, imperativo, débilmente tipado y dinámico.
Fuentes
https://es.wikipedia.org/wiki/Programaci%C3%B3n_orientada_a_objetos https://es.wikipedia.org/wiki/JavaScript
Fabian Flores
Notas de la Clase
José Gregorio Estrada Meneses
Historia
La Programación Orientación a Objetos (P.O.O.) surge en Noruega en 1967 con un lenguaje llamado Simula 67, desarrollado por Krinsten Nygaard y Ole-Johan Dahl, en el centro de cálculo noruego.
Simula 67 introdujo por primera vez los conceptos de clases, corrutinas y subclases (conceptos muy similares a los lenguajes Orientados a Objetos de hoy en día). El nacimiento de la Programación Orientación a Objetos en Europa pasó inadvertido para gran parte de los programadores. Hoy tenemos la Orientación a Objetos como un niño de 33 años al que todos quieren bautizar.
Uno de los problemas de inicio de los años setentas era que pocos sistemas lograban terminarse, pocos se terminaban con los requisitos iniciales y no todos los que se terminaban cumpliendo con los requerimientos se usaban según lo planificado. El problema consistía en cómo adaptar el software a nuevos requerimientos imposibles de haber sido planificados inicialmente.
Este alto grado de planificación y previsión es contrario a la propia realidad. El hombre aprende y crea a través de la experimentación, no de la planeación. La Orientación a Objetos brinda estos métodos de experimentación, no exige la planificación de un proyecto por completo antes de escribir la primera línea de código.
En los 70’s científicos del centro de investigación en Palo Alto Xerox (Xerox park) inventaron el lenguaje Small talk que dio respuesta al problema anterior (investigar no planificar).
Small talk fue el primer lenguaje Orientado a Objetos puro de los lenguajes Orientados a Objetos, es decir, únicamente utiliza clases y objetos (Java usa tipos de datos primitivos, o bien los Wrappers que son clases que encapsulan tipos de datos primitivos).
Quien tuvo la idea fue D. Parnas cuando propuso la disciplina de ocultar la información. Su idea era encapsular cada una de las variables globales de la aplicación en un solo módulo junto con sus operaciones asociadas, sólo mediante las cuales se podía tener acceso a esas variables.
El resto de los módulos (objetos) podían acceder a las variables sólo de forma indirecta mediante las operaciones diseñadas para tal efecto.
En los años 80’s Bjarne Stroustrup de AT&T Labs., amplió el lenguaje C para crear C++ que soporta la programación Orientada a Objetos.
En esta misma década se desarrollaron otros lenguajes Orientados a Objetos como Objective C, Common Lisp Object System (CIOS), object Pascal, Ada y otros. Posteriores mejoras en herramientas y lanzamientos comerciales de C++ por distintos fabricantes, justificaron la mayor atención hacia la programación Orientada a Objetos en la comunidad de desarrollo de software. El desarrollo técnico del hardware y su disminución del costo fue el detonante final. Con más computadoras al alcance de más personas más programadores, más problemas y más algoritmos surgieron.
En el inicio de los 90’s se consolida la Orientación a Objetos como una de las mejores maneras para resolver problemas. Aumenta la necesidad de generar prototipos más rápidamente (concepto RAD Rapid Aplication Developments). Sin esperar a que los requerimientos iniciales estén totalmente precisos.
En 1996 surge un desarrollo llamado JAVA (extensión de C++). Su filosofía es aprovechar el software existente. Facilitar la adaptación del mismo a otros usos diferentes a los originales sin necesidad de modificar el código ya existente.
En 1997-98 se desarrollan herramientas ‘CASE’ orientadas a objetos (como el diseño asistido por computadora).
Del 98 a la fecha se desarrolla la arquitectura de objetos distribuidos RMI, Corba, COM, DCOM.
Actualmente la orientación a objetos parece ser el mejor paradigma, no obstante, no es una solución a todos los problemas. Trata de eliminar la crisis del software. Entre los creadores de metodologías orientadas a objetos se encuentran: G. Booch, Rambaught, Ivar Jacobson y Peter Cheng.
Robert Vásquez
Este resumen es bastante completo, cuando estaba en la universidad me propuse invertigar todo esto, me todo días, pero al final tuve claro todo conrespecto a los paradigmas más usados, entre ellos POO. Puedo afirmar que este aporte le será de gran utilidad para quién quiera un poco más de contexto.
Joseph Perales Retamozo
Está bien cool tomar esta clase a x2
Facundo Rios
AJAJAJA yo miro todo por dos ,siento que la vida es muy corta(?
Arianna Clemente
Totalmente, se ve super cuchi en x2
Andrés Felipe Lopez gomez
Por acá les dejo un aporte de programación orientada a objetos
https://developer.mozilla.org/es/docs/Learn/JavaScript/Objects/Object-oriented_JS
Franks Jhon Colque Zegarra
Paradigmas
Ventajas de POO:
Encapsulamientos de datos: Podemos agrupar datos que tienen algo en común, o que pueden ser agrupados.
Reutilizacion de codigo: Podemos reusar código repetitivo encapsulando, métodos y atributos en un objeto.
ALEJANDRO RAMOS FUENTES
Encontré esta imagen para que entiendan un poco mas a lo que se refiere instancia.
Luis Palomo
class CookieMaker { constructor (num, container) { this.num = num this.container = container } getTemplate(id){ let template = `<div id="coockie-${id}" class="cookie"></div>` return template } getCoockies(num, cont) { num = this.num cont = this.container for(let i = 0; i < num; i++) { cont.innerHtml += this.getTemplate(i) } } } let box = document.getElementById('container') let cookieOrder1 = new CookieMaker().getCoockies(10000, box)
Andrés Felipe Eslava Zuluaga
PROGRAMACIÓN ORIENTADA A OBJETOS · El orden es una de las cosas que más ayuda al usar el paradigma de Programación Orientada a Objetos (OOP). · Los elementos, necesitan tener un orden para poder vivir dentro de un objeto. Porque así mismo, cada elemento puede ser un objeto. Estos elementos pueden ser ATRIBUTOS Y MÉTODOS. INFORMACIÓN Y FUNCIONES DENTRO DE LOS OBJETOS. Estos atributos guardan información dentro de un objeto y los métodos son funciones que pueden operar la información de los atributos. Gracias a éste orden, nos ayuda a darle mantenimiento al código. Porque todo estará separado por objetos. Cada objeto tendrá los métodos y atributos que le corresponde. La información tendrá relación entre los objetos, gracias a sus atributos, pero principalmente por ser objetos que se pueden relacionar. · La reutilización de código es otra cosa que optimiza mucho usar el paradigma de Programación Orientada a Objetos (OOP). · EL USO DE CLASES es lo que nos permite reusar cosas. Son bloques de código en donde puedo crear una base o un molde de objetos. Ahí, en estos moldes podemos crear los métodos y atributos base por defecto para nuestros objetos. Así a partir de una clase, podemos instanciar y personalizar cada objeto. Nos permiten definir de qué tipos de datos, o de qué tipo de información, está hecho este objeto. Si es texto, si es un número y booleano, para crear una clase Estudiante para su nombre, edad y sexo. Entonces, dos objetos que se llaman Natalia y Juanita, se instancian de la clase Estudiante para crear cada uno por separado.
Ángel David Vargas Hernández
Según yo serían sin el molde sería 34 días (sin dormir, trabajando 24/7) pero con el molde estaríamos trabajando cerca de 4 días
Alan Gray Carrasco Quispe
igual me salio ami no se porque mas arriba sacan otros resultados mi estimado saludos xd 3.47 dias con molde y sin molde 34.72 dias
Juan Camilo Salazar
Ejercicio de Galletas
Se tomará un aproximado de 83.333 horas al implementar el molde de Galletas.
10 galletas → en 5 minutos. 10,000?.
10000 / 10, se hace para saber cuantas veces tengo que usar el molde para sacar las 10000 galletas.
1000 veces tendremos que usar el molde para hacer las galletas, solo nos falta saber cuanto se demora, si en 5 minutos se sacan las 10, entonces 1000 * 5 minutos, es la operacion para saber cuanto nos demoramos en sacar las 10000 con el molde.
Dario Paladines
La POO es un paradigma de programación cuya finalidad es que el código sea ordenado, reutilizable y funcional; para ello ocupamos las clases que son la abstracción de los objetos (como explico juan las clases son el molde), en donde cada objeto esta compuesto por atributos (características que definen al objeto) y por métodos los cuales son funciones que nos dicen que sabe hacer ese objeto, esto nos permite optimizar tiempo al momento de programar, además de que cuando tengamos que modificar, o agregar líneas al código nos permite hacerlo de una forma mas "automatizada"
José Antonio Zegarra Medina
📌 Los objetos son usados para almacenar colecciones de atributos(datos) y métodos(funciones).
📌 La Programación Orientada a Objetos nos permiten tener orden, ligar información y reutilizar el código mediante las **clases ** que son un molde(una base de atributos y métodos) del cual podremos instanciar nuevos objetos con la misma base y una personalización.
Nota. En JavaScript, la POO se basa en prototipos, no en clases.
Cecilia Aquino
Amo las metáforas que emplea Juan para explicar : )
Ricardo Casallas
La programación orientada a objetos se basa en el concepto de crear un modelo del problema de destino en sus programas. La programación orientada a objetos disminuye los errores y promociona la reutilización del código. Python es un lenguaje orientado a objetos.
Principales paradigmas de programacion
Programación imperativa:
Los primeros lenguajes de programación y, por extensión, también los primeros programas informáticos, se basaban completamente en este enfoque, que prevé una secuencia regularizada de órdenes o instrucciones determinadas. Este paradigma de programación es la base, por ejemplo, de los veteranos lenguajes Pascal y C, así como de todos los lenguajes ensambladores, entre otros. En la programación imperativa, el centro de atención radica, entre otras cosas, en trabajar lo más cerca posible del sistema. Como consecuencia, el código de programación resultante es fácil de comprender y, a la vez, muy abarcable.
Programacion estructurada:
La principal modificación del principio básico radica en que, en lugar de instrucciones de salto absolutas (instrucciones que provocan que el procesamiento no continúe con la siguiente instrucción, sino en otro lugar) este paradigma de programación de software prevé el uso de bucles y estructuras de control.
Programación procedimental:
El paradigma de programación procedimental amplía el enfoque imperativo con la posibilidad de desglosar algoritmos en porciones manejables. Estos se denominan como procedimientos, dependiendo del lenguaje de programación, o también como subprogramas, rutinas o funciones. El sentido y el propósito de esta distribución es hacer que el código de programa sea más claro y evitar las repeticiones innecesarias de código.
Programación modular:
El código fuente se divide específicamente en bloques parciales lógicos independientes los unos de los otros para proporcionar más transparencia y facilitar el proceso de debugging (resolución de errores). Los bloques parciales individuales, denominados módulos, se pueden probar por separado antes de vincularlos posteriormente a una aplicación conjunta
Programación declarativa:
Radica en la descripción del resultado final que se busca. Por lo tanto, en primera línea se encuentra el “qué” del resultado y no el “cómo” de los pasos que llevan a la solución, como es el caso en la programación imperativa. Esto provoca que el código de la programación declarativa sea más difícil de comprender debido al alto grado de abstracción, aunque resulta muy corto y preciso.
Programación funcional:
Un programa de programación funcional consta de llamadas de función concatenadas en las que cada parte del programa se interpreta como una función. En este sentido, las funciones dentro de la programación funcional pueden adoptar distintas “estructuras”. Por ejemplo, se pueden vincular entre sí como datos o se pueden utilizar en forma de parámetros. Asimismo, se pueden utilizar como resultados de función. En contraposición, el paradigma se ocupa de que no haya asignaciones independientes de valores.
Programación lógica:
El paradigma de software lógico, denominado también como programación predicativa, se basa en la lógica matemática. En lugar de una sucesión de instrucciones, un software programado según este principio contiene un conjuntode principios que se pueden entender como una recopilación de hechos y suposiciones. Todas las solicitudes al programa se procesan de forma que el intérprete recurre a estos principios y les aplica reglas definidas previamente para alcanzar el resultado deseado.
FUENTE: