paint-brush
Cómo usar los memes para entender la programación orientada a objetospor@abbeyperini
1,802 lecturas
1,802 lecturas

Cómo usar los memes para entender la programación orientada a objetos

por Abbey Perini2022/03/29
Read on Terminal Reader
Read this story w/o Javascript

Demasiado Largo; Para Leer

Los lenguajes de programación orientada a objetos (POO), como JavaScript y Python, organizan el diseño de software en torno a datos que tienen formato de objetos, en lugar de funciones o lógica. Primero, cubriré los conceptos básicos: objetos, clases, instancias y métodos. Luego, explicaré brevemente los cuatro pilares principales del diseño de programación orientada a objetos: encapsulación, abstracción, herencia y polimorfismo. Objetos Un objeto son datos formateados para representar un objeto del mundo real que tiene un estado y un comportamiento.

Companies Mentioned

Mention Thumbnail
Mention Thumbnail
featured image - Cómo usar los memes para entender la programación orientada a objetos
Abbey Perini HackerNoon profile picture


Los lenguajes de programación orientada a objetos (POO), como JavaScript y Python, organizan el diseño de software en torno a datos que tienen formato de objetos, en lugar de funciones o lógica.


Primero, cubriré los conceptos básicos: objetos, clases, instancias y métodos. Luego, explicaré brevemente los cuatro pilares principales del diseño de programación orientada a objetos: encapsulación, abstracción, herencia y polimorfismo.

Objetos

Un objeto son datos formateados para representar un objeto del mundo real que tiene un estado y un comportamiento.


"Aquí está mi estado deseado. ¡Hazlo así!" - Capitán Picard

El estado de Picard sería "quiere establecer un rumbo" y su comportamiento sería decirle a un alférez el rumbo deseado y "Hacerlo así".

Clases

Los diferentes lenguajes de programación abordan esto de diferentes maneras, pero esencialmente una clase es un modelo para crear un objeto.


"Oye Dawg, escuché que te gusta la programación orientada a objetos, así que anidé una clase dentro de tu clase para que puedas crear objetos mientras creas objetos"

Instancia

Cada vez que se crea un objeto, se instancia.


Muchos Bob Esponja sentados en escritorios de oficina como metáfora de la mente

Cada escritorioSponge que se muestra aquí sería una instancia de un objeto y, debido a que están hechos con la clase Spongebob , una instancia de Spongebob .

Métodos

Los métodos son funciones dentro de un objeto.


Una oficinista presiona un botón y una gran máquina de café le echa café directamente en la boca. Luego escribe frenéticamente.

En otras palabras, los comportamientos de nuestro objeto.


La máquina de café de arriba tendría un método para hacer café y el botón lo llamaría. El oficinista tendría un método para presionar el botón, beber el café y escribir con cafeína.

Encapsulación

No necesitas saber cómo funciona la cafetera para apretar el botón y sacar café.



"Ustedes, las cafeteras automáticas, se creen geniales, ¿eh? ¿Pero pueden hacer esto?" La máquina de goteo mira confundida. La prensa francesa mueve su émbolo. Ahora dos prensas francesas están moviendo rápidamente sus émbolos, y la máquina de café automática parece horrorizada.

En otras palabras, el comportamiento y el estado del objeto en cuestión deben ser privados y solo deben verse afectados por métodos privados dentro del objeto.


(La persona que presionó el botón no ve el agua calentada y empujada a través del café molido). El objeto debe tener métodos públicos que otros objetos puedan usar para interactuar con él (como el botón).

Abstracción

La única información sobre un objeto que está disponible fuera del objeto es la información absolutamente necesaria para que otros objetos la utilicen.

Una gaviota y un cangrejo discuten el misterioso viaje del cangrejo en un pequeño bote de remos, y terminan con "cualquier detalle seguirá siendo un misterio".

Esto también se conoce como ocultación de información , y los métodos públicos disponibles para otros objetos son "captadores" y "establecedores".

Herencia

Al igual que la genética, si una clase fuera un perro y cada objeto heredado de la clase de perro fuera un cachorro.


Una mamá perra se para frente a sus cachorros. El pie de foto dice "Hice des. Y des. Y des. Y des. Y des. Y des".

Los objetos hechos con una clase (JavaScript usa la palabra clave extends ) heredan la información y los métodos de la clase super (o padre) (llamando a super() en el constructor en un objeto JavaScript).

Polimorfismo


Fred y ghostFred tienen un método llamado getDressed() . Cuando se llama a getDressed() , Fred se pondrá su pañuelo y ghostFred se pondrá su disfraz de fantasma.



Fred de Scooby Doo desenmascara a un villano fantasma para revelar... también Fred

En este caso, Fred es la clase y ghostFred es un objeto que extiende a Fred . ghostFred hereda el método getDressed() de Fred , pero cuando se crea una instancia de ghostFred , el programador pasa diferentes argumentos a getDressed() y/o cambia el código del método.


El lenguaje OOP evalúa qué getDressed() usar en función del objeto al que se hace referencia cuando se llama (el objeto al que se referiría this palabra clave). Usado correctamente, esto puede reducir significativamente el código repetido. Leyenda: "Yo: explica el polimorfismo Amigo: Entonces, ¿la subclase es igual a la superclase? Yo:" Un pirata de plastilina que dice "Bueno, sí, pero en realidad no".

Conclusión

Si eres un desarrollador experimentado, con suerte te divertirás con esto. Si eres un principiante, ¡espero que te ayude a usar un lenguaje OOP con más confianza!


Si disfrutaste esta descripción general de alto nivel de OOP en memes o te dejó con más preguntas, ¡deja un comentario!


También publicado aquí.