Qué es programación orientada a objetos

2/20
Recursos
Transcripción

Aportes 67

Preguntas 8

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

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:

Los paradigmas son distintas maneras de programar, los más comunes son:

  • Estructurado
  • Orientado a objetos
  • Funcional

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 ✅:

  • Orden
  • Todo está conectado
  • Reutilizar código -> Los moldes son las clases, que usaremos para instanciar objetos

Los objetos tienen métodos (funciones) y atributos (características).

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:

  • CuboPasto
  • CuboNieve
  • CuboTierra
  • CuboNube
  • CuboTNT

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:

  • CuboTNT – Explotar() - Este método puede ser que si lo tocamos haga una interacción que parezca que haya explotado.
  • CuboAgua – Sonar() - Este método puede ser que al estar sobre el agua exista algún sonido que lo represente como en la vida normal.

.
Y de esta simple manera podemos entender en ejemplos prácticos y sencillos como funciona al paradigma de POO.
.
¡Espero te sirva! 😃

166.66 HORAS PARA LAS 10,000 GALLETIKAS

6.944 DIAS

1 SEMANA. (SIN MOLDE)

de nada 😗

📼 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

  • Cuando programamos un algoritmo existen diferentes formas de llegar a un mismo resultado
  • Los paradigmas de programación formas, caminos, indicaciones o lineamientos que podemos seguir para programar nuestras aplicaciones
  • Existen muchos paradigmas entre los más llamativos son:
    1. Estructurado
    2. Orientado a objetos
    3. Funcional
  • Cada paradigma se creó para solucionar algunos problemas o dificultades que nos generaban los paradigmas que existían en el pasado
  • Un paradigma recientemente creado no significa que es mejor que otro, depende del contexto de uso
  • Existen lenguajes que te permiten utilizar más de un paradigma como otros que son exclusivos para un paradigma de programación

Programación Orientada a Objetos

🔠 Orden

  • Uno de los primeros problemas a resolver fue el orden
  • Esto nos ayuda cuando todos los elementos de nuestra aplicación están conectados entre sí
  • Los objetos nos permiten definir:
    • Atributos son valores que serán propios de unos objetos
    • Métodos son comportamientos para nuestros objetos

🍪 Reutilizar

  • Imagínate crear varias galletas las cuales deban de tener un mismo tamaño y grosor, este proceso será repetitivo.
  • Al tener un molde será más sencillo crear las mismas de una misma forma
    • Crear moldes toma un poco más de tiempo resulta un poco de más tiempo, pero a largo plazo para crear uno nos ahorra mucho más tiempo
  • Las clases serán nuestros moldes las cuales podremos reutilizar declarando atributos y métodos
📌 **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.

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ón_orientada_a_objetos
https://es.wikipedia.org/wiki/JavaScript

Notas de la Clase

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.

Está bien cool tomar esta clase a x2

Por acá les dejo un aporte de programación orientada a objetos

https://developer.mozilla.org/es/docs/Learn/JavaScript/Objects/Object-oriented_JS

Paradigmas

  • Estructurado
  • Orientado a Objetos ✅
  • Funcional

Ventajas de POO:

  1. Encapsulamientos de datos: Podemos agrupar datos que tienen algo en común, o que pueden ser agrupados.

  2. Reutilizacion de codigo: Podemos reusar código repetitivo encapsulando, métodos y atributos en un objeto.

Encontré esta imagen para que entiendan un poco mas a lo que se refiere instancia.

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)

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.

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

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.

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”

📌 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.

Amo las metáforas que emplea Juan para explicar : )

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.

Bajo este enfoque se tienen cuatro paradigmas los cuales son:
1.paradigma por procedimientos
2.paradigma imperativo.
3.paradigma declarativo.
4.paradigma funcional.paradigma orientado a objetos.

Un paradigma es una teoría que suministra la base y modelo para resolver problemas. POO es un paradigma que brinda orden al código.

Les dejo el enlace del curso de OOP.

Mmm, esta clase me abre el apetito 🤔 y me hace querer jugar Cookie Clicker 😂

Los paradigmas antiguos cuando vean a los paradigmas actuales siendo reemplazados por los nuevos futuros paradigmas:

ventajas de la POO

  • Orden:
    La relación, dependencia que tienen los elementos entre si
  • Todo esta conectado
    Todos los elementos de nuestra aplicación están conectados
  • reutilizar código
    Las clases son los moldes para crear objetos con atributos y métodos en común

Creo que esa analogía de los moldes de galletas, sintetiza toda lo que puede usarse en POO.

Mucho tiempo haciendo galletas 😉

📌 En la programación, existen múltiples paradigmas para resolver los algoritmos, es decir, lineamientos sobre los cuales podemos basarnos para solucionar un problema. Por ejemplo:

  • Estructurado
  • Orientado a Objetos
  • Funcional

Nota. Ningún paradigma es mejor que otro, son distintos enfoques, su uso depende de el contexto y de los requerimientos.

Antes de saber que es la programación orientada a objetos hay que saber que es un paradigma.

Un paradigma de programación es una manera o estilo de programación de software. Existen diferentes formas de diseñar un lenguaje de programación y varios modos de trabajar para obtener los resultados que necesitan los programadores. Se trata de un conjunto de métodos sistemáticos aplicables en todos los niveles del diseño de programas para resolver problemas computacionales.

En este modelo de paradigma se construyen modelos de objetos que representan elementos (objetos) del problema a resolver, que tienen atributos y métodos. Permite separar los diferentes componentes de un programa, simplificando así su creación, depuración y posteriores mejoras. La programación orientada a objetos disminuye los errores y promociona la reutilización del código. Es una manera especial de programar, que se acerca de alguna manera a cómo expresaríamos las cosas en la vida real.

Podemos definir un objeto como una estructura abstracta que, de manera más fiable, describe un posible objeto del mundo real y su relación con el resto del mundo que lo rodea a través de interfaces.

POO

Es un paradigma o alineamientos para programar. Lo que busca es abstraer la logica de las entidades que se van a crear y utilizar en clases o moldes que pueden replicar tal comportamiento con sus posibles variaciones.

PARADIGMAS
Los paradigmas de programación son los principios fundamentales de la programación de software. Lo más fácil es plantearlos como estilos de programación fundamentalmente diferenciados que, en consecuencia, generan códigos software que están estructurados de forma distinta.

  • Estructurado

  • Orientado a objetos:

    1. Uno de los problemas que vino a resolver es el ORDEN.

    2. Cada elemento de nuestro proyecto es un objeto y todo lo que esté relacionado con nuestro objeto debe vivir dentro de él.

    3. Nos ayuda a reutilizar código.

  • Funcional.

MÉTODOS Y ATRIBUTOS:
Cada objeto tiene métodos (funciones) y atributos para guardar la información del mismo.
CLASES
Las clases son bloques de código donde podemos definir métodos y atributos base para nuestros objetos. A partir de ésta se “instancian” los objetos.
Nos permiten definir qué tipo de información vamos a guardar en cada atributo.

Aunque Javascripts es un lenguaje orientado a objetos no está basado en clases sino en prototipos.

Les dejo el link por si quieren echar un vistazo Rxjs

Muy buena explicacion!

Juancho me da tranquilidad

El nombre correcto es propiedades, no atributos, los atributos pertenecen a HTML.
sos un crack Juan David

Estoy emocionada con este curso.
Juan David tiene una forma de explicar tan natural que todo se aprende rápido y sencillo.
Al darnos los conceptos (valga la redundancia) conceptualmente (con ejemplos y temas o actividades comunes) en vez de con definiciones grises (como en otros cursos) la idea de lo aprendido se queda realmente grabada en nuestra cabeza.

❤️

wow excelente clase gracias!!!

Felicidades Juan, haces explicaciones muy buenas

Según platón el cual era un filósofo de Atenas. Creía en algo que llamamos dualidad platónica, en la que un algo en sí es materia y lo que lo hace ser lo que es se lo llama forma. Mientras que la forma o en este caso la clase representa una galleta que tiene que ser dulce, crocante y circular; la materia o objeto es una galleta de sierto tipo de sabor y quizá una forma un poco diferente, pero la seguimos llamando galleta. P.D: traté de juntar un pequeño dato que me sé de filosofía con la programación, espero les sirva.

¿Qué es un protipo?

"Un prototipo es una plantilla o modelo que se utiliza como base para crear una o varias instancias de un objeto. En JavaScript, los prototipos se utilizan para crear herencia entre objetos, lo que permite compartir propiedades y métodos entre diferentes objetos.

La programación orientada a objetos basada en prototipos es un paradigma de programación en el que los objetos son creados a partir de prototipos en lugar de utilizar clases como en la programación orientada a objetos tradicional. En este paradigma, un objeto puede ser creado a partir de otro objeto existente, heredando sus propiedades y métodos, lo que permite crear una cadena de herencia entre objetos.

Por ejemplo, si tenemos un prototipo de animal que contiene las propiedades comunes a todos los animales, como el nombre y la edad, y un prototipo de perro que hereda de animal y añade propiedades específicas de los perros, como la raza y el dueño, podemos crear un objeto perro a partir de estos prototipos y utilizarlo para representar un perro concreto, como Fido, el perro de Juan."

Entonces cuál es la diferencia entre una clase y un prototipo?

"La principal diferencia entre una clase y un prototipo es que una clase es una plantilla utilizada para definir la estructura y el comportamiento de un objeto, mientras que un prototipo es un objeto que se utiliza como base para crear otro objeto. En JavaScript, las clases son una forma de sintaxis introducida en ECMAScript 2015 que se utiliza para definir y crear objetos basados en una plantilla o clase, mientras que los prototipos son una forma de crear herencia entre objetos que ya existen.

La principal diferencia entre ambos enfoques es que en la programación orientada a objetos basada en clases, se utiliza una sintaxis de clases para definir y crear objetos, mientras que en la programación orientada a objetos basada en prototipos, se utiliza un objeto existente como prototipo para crear un nuevo objeto. Aunque ambos enfoques pueden ser utilizados para crear objetos y realizar operaciones con ellos, la forma en que se definen y se utilizan puede variar."

Esto viene del #chatGPT3 de OpenAI

Excelente explicación! 👍

Me pone nervioso ver como hace tantos gestos, no deja que me concentre bien!

Me gustaría decir: ve al grano por favor, no enredes algo que ya esta enredado. Pero veo que hay comentarios o aportes que hacen precisamente eso, así que mejor los leí y entendí mejor el tema. Buena comunidad 😄 ❤️

Qué es programación orientada a objetos

paradigmas

son formas o caminos que podemos seguir para programar las aplicaciones

tipos de paradigmas

  • EStructural
  • orientado a objetos
  • funcional

una de las principales objetivos del cual se creo la programcion orientado a objetos es es orden por ejemplo si se quiere crear un sistema como platzi se necesita:

objetos

  • estudiantes
  • cursos
  • LPa

la programcion orientado a objetos tambien nos ayuda a reutilizar código a esto se le conoce como clases las las son bloques de codigo donde podemos definir metodos o atrubutos

Un paradigma bastante interesante es la programación reactiva. La descubrí con Angular y RXjs. muy bueno

Tomaría poco más de tres días 🙂

Tenemos tres paradigmas de progrmacion:

1. Estructurado
2. Orientado a Objetos
3. Funcional

POO es un paradigma ampliamente utilizado y espero poder profundizar aun mas en este curso juento a JS

Muy bueno. Si, como la gente esta inconforme con una forma de resolver algo es que nacen nuevas formas de solucionar problemas con sus pros y sus contras.

Las clases son bloques de código donde podemos definir métodos y atributos bases para nuestros objetos.

POO: paradigma de programación que ordena la información en atributos y funciones. con el fin de reutilizar código creamos clases con las que definimos atributos y métodos, son como una plantilla para crear objetos: usuarios, productos, membresía, etc., a este proceso se le llama instanciar objetos por lo mismo a los objetos se les suele llamar instancias.

en promedio con el molde que hace 10 galletas serian 3.4 días profe

Este profesor es un monstruo, una bestilidad. Me inspira la emoción por aprender que poquísimos profesores logran incluso en la universidad. Que grandes sos Juan.

Una Gran clase, explica de manera sencilla

A ver, en resumen.

Paradigma

Es esa teoría que suministra la base y el modelo para resolver problemas. Hay que tener en cuenta que ningún paradigma es necesariamente mejor que otro. Solo hay que saber cual aplicar para la lógica de tu negocio. Ahora bueno…

¿Qué es la POO?

Resumiendo es una forma de abordar tus problemas abstrayendo los elementos en forma de objetos.

Algunas de sus ventajas?

Todo nuevo paradigma surge para resolver nuevas necesidades que los viejos paradigmas no nos permiten de manera sencilla (siendo justos, es para hacernos la vida mas sencilla).
Dentro de sus ventajas tenemos:

  • El orden: Al separar nuestros elementos en Objetos será mas fácil mantener nuestro código y hacerlo escalable.
  • Reutilización del código: DRY (Don’t Repeat Yourself), Nuestras piezas de código no deberían de repetirse ya que esto nos dificultará la evolución futura (y su mantenimiento).

¿Qué Elementos podemos encontrar en la POO?

Hasta ahora hemos escuchado de estos 4 ( y los seguirás escuchando muy a menudo):

  • Clases: Son bloques de código que nos permiten definir métodos y atributos (base) para nuestros objetos.
  • Atributos: Son las características de nuestros objetos (Altura, peso, Si es estudiante (o no)
  • Métodos: Son funciones que guardamos en nuestros objetos para actualizar la información de forma segura.

Así vamos, sigamos con la siguiente clase 😄

Ah, para hacer las 10000 Galletas con nuestro nuevo molde, solamente nos tomaría menos de una semana (sin ningún tipo de descanso 😐) Para ser exactos 83.33 horas 😄

Gran clase!

buenos conceptos, pero algo acelerado =/

Cada clase de este profesor es un tesoro. No es solo lo bien que presenta el tema o cuánto se aprende al final, es que cada una de sus clases, cada uno de los vídeos es ameno, claro, bien estructurado, interesante... agradecida de coincidir en el universo en el que él acabó en Platzi 🥲

React usa el paradigma de programación declarativo, Angular usa programación reactiva, DOM con javascript sería paradigama de programación imperativo, node.js usa el paradigma modular y bueno python es python y usa varios, como el funcional, modular, orientada a objetos etc. Si bien tome el curso de lenguajes de paradigma de programación no me acuerdo de todos los paradigmas 😅, puede que me este equivocando jejeje

¿Qué es la Programación Orientada a Objetos?, es un paradigma de programación que permite desarrollar aplicaciones complejas manteniendo un código más claro y manejable que otros paradigmas anteriores.
.

La programación Orientada a objetos se define como un paradigma de la programación, una manera de programar específica, donde se organiza el código en unidades denominadas clases, de las cuales se crean objetos que se relacionan entre sí para conseguir los objetivos de las aplicaciones.
.

Podemos entender la programación Orientada a objetos (POO) como una forma especial de programar, más cercana a como expresaríamos las cosas en la vida real que otros tipos de programación, que permite diseñar mejor las aplicaciones, llegando a mayores cotas de complejidad, sin que el código se vuelva inmanejable.
.

Al programar orientado a objetos tenemos que aprender a pensar cómo resolver los problemas de una manera distinta a como se realizaba anteriormente, en la programación estructurada. Ahora tendremos que escribir nuestros programas en términos de clases, objetos, propiedades, métodos y otras cosas que veremos rápidamente para aclarar conceptos y dar una pequeña base que permita soltarnos un poco con los conceptos de este tipo de programación.

Clases y objetos

¿Qué es una clase?

El plano de una casa se puede considerar una clase porque solo existe uno. A esto lo llamamos témplate y con ese plano construimos la casa cuantas veces queramos.

¿Qué es un objeto?

La casa construida se considera un objeto porque con las clases podemos replicar las casas solo cambiando sus atributos y métodos.

POO es un paradigma de programación que ayuda a poner orden y reutilizar código mediante el uso de clases que poseen atributos y métodos, a la cual le puedo generar instancias (objetos) 🫡

Puse POO en Google Images y salió algo que no debía ver 🤣

Nunca había escuchado que POO en JS no era basado en clases sino en prototipos…incluso en cursos anteriores a este en la ruta como el de ECMASCRIPT o JAVASCRIPT PRÁCTICO…interesante saber esto…espero sea más fácil a las clases porque ya le había agarrado cariño a éstas 😅

Qué es programación orientada a objetos?

Se puede resolver los algoritmos de formas variadas.

Paradigmas

Formas, caminos, indicaciones, lineamientos generales para programar las aplicaciones.

  • Estructurado
  • Orientado a objetos
  • Funcional

Cada paradigma se creó para dar soluciones a dificultades que generaban los paradigmas del pasado y los paradigmas anteriores se crearon para dar soluciones a otros paradigmas más antiguos.

Se debe descubrir cuando resulta más útil usar un paradigma que otro.

Cada lenguaje puede permitir trabajar con uno o varios paradigma.

JavaScript y el paradigma de programación orientada a objetos

Poo resolvió uno de los primeros programas que es el orden.

Poo dice que cada elemento del proyecto, estudiantes, comentarios, cursos, todos estos son llamados objetos y todo lo relacionado debe vivir con el objeto.

Un objeto para cada estudiante con su propia información como nombre, edad, puntos, etc.,esto se llama métodos y atributos.
Miguel con sus informacion, nombre edad, sus puntos.

Los objetos permiten definir atributos para guardar la información de los estudiantes, pero también permite definir métodos,que son funciones que guardamos dentro los objetos para actualizar de forma segura la información que se había guardado en los atributos del objeto

Ejemplo
Natalia tiene una lista de cursos, esta lista está guardada en un atributo que se llama” cursos que quiero tomar”.
Pero ahora se quiere agregar un curso o eliminar, es ese caso el objeto Natalia va a tener uno o varios métodos para actualizar la lista de cursos, el atributo “cursos que quiero tomar”.

Se trabaja de forma adecuada por el orden para poder realizar mantenimiento de información o agregarle nuevas características.

La segunda ventaja de la programación orientada a objetos es que permite reutilizar código.

En la programación orientada a objetos existen moldes como en una fábrica de galletas, los moldes son llamados Clases

Las Clases son bloque de código donde se puede definir métodos y atributos.

De esta forma no hay que escribir varias veces el mismo código para definir cada objeto, se crea una clase y a partir de esta clase se va a instanciar los objetos dándole únicamente a cada uno la personalización necesarios.

Las clases en algunos lenguajes permite definir de que tipo de información se va a guardar en cada tributo, texto, números

JavaScript es un lenguaje orientado a objetos pero no está basado en clases sino en prototipos.

Que es un paradigma de programaciónn