Está en la página 1de 12

Protocolo individual

Descripción del texto o actividad a realizar.

Síntesis de la unidad #2 “introducción a la POO”

Palabras claves.

Programación orientada a objetos.

Clases.

Objetos.

Propiedades.

Métodos.

Objetivos de las lecturas o actividad a realizar.

Objetivo general: comprender todo lo relacionado con la POO.

Objetivos específicos:

-Definir el concepto de POO y su importancia.

-Analizar los principales principios de la POO.

-Desarrollar Sintaxis básica de la POO en diferentes lenguajes de programación.

Conceptos claves y definiciones

¿Qué es la POO y por qué es importante?

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.

La Programación Orientada a Objetos (POO) es un paradigma de programación, esto es,

un modelo o un estilo de programación que proporciona unas guías acerca de cómo


trabajar con él y que está basado en el concepto de clases y objetos. Este tipo de

programación se emplea para estructurar un programa de software en piezas simples y

reutilizables de planos de código (clases) para crear instancias individuales de objetos.

Históricamente han ido surgiendo distintos paradigmas de programación. Por un lado, los

lenguajes secuenciales como COBOL o procedimentales como Basic o C, se enfocan más

en la lógica que en los datos. Por otro lado, otros más modernos como Java, C# y Python,

usan paradigmas para definir los programas, siendo la POO la más popular. Con el

paradigma de POO lo que se busca es dejar de centrarse en la lógica pura de los

programas, para comenzar a pensar en objetos, lo que forma la base de dicho paradigma.

Esto ayuda bastante en sistemas grandes, pues en lugar de pensar en funciones, se piensa

en las relaciones o interacciones de los distintos elementos del sistema.

Un programador diseña un programa de software organizando piezas de información y

comportamientos relacionados en una plantilla denominada clase. Después, se crean

objetos individuales a partir de la plantilla de clase. Todo el programa de software se

ejecuta haciendo que diversos objetos interactúen entre sí para crear un programa mayor.

Por qué la Programación Orientada a Objetos

La POO permite que el código sea reutilizable, organizado y sencillo de mantener y es

que sigue el principio de desarrollo de software empleado por muchos programadores

DRY (Don’t Repeat Yourself), para no duplicar el código y crear programas eficientes.

Asimismo, previene el acceso no deseado a los datos o la exposición de código

propietario a través de la encapsulación y la abstracción.


Diferencias entre la programación orientada a objetos y otros paradigmas:

El paradigma de la programación orientada a objetos consiste en la representación de la

realidad. En éste se manejan algunos conceptos básicos como son clases,

objetos, atributos, métodos y se caracteriza por emplear la abstracción de datos, herencia,

encapsulamiento y polimorfismo. Estas características deben ser estudiadas y

comprendidas para su aplicación en la programación orientada a objetos. Entre las

diferencias tenemos:

Programación imperativa:

Enfoque: Se centra en las instrucciones y el estado del programa.

Diferencias:

La POO se centra en objetos que encapsulan datos y comportamiento, usa la herencia y el

polimorfismo para reutilizar código y mejorar la flexibilidad.

Programación funcional:

Enfoque: Se centra en funciones puras y datos inmutables.

Diferencias:

La POO permite modificar el estado de los objetos esta se basa en las clases y objetos,

mientras que la funcional usa funciones y tipos de datos abstractos.

Programación lógica:

Enfoque: Se basa en reglas y relaciones entre entidades.

Diferencias:
La POO se centra en objetos y sus interacciones, no tiene un sistema de reglas como la

programación lógica.

Ejemplos:

Imperativa: C, Python, Java (en parte)

Orientada a objetos: C++, Java, Python (en parte)

Funcional: Haskell, Lisp, Erlang

Lógica: Prolog, Datalog

principios de la Programación Orientada a Objetos

La encapsulación: presenta toda la información importante de un objeto dentro del

mismo y solo expone la información elegida al mundo exterior.

Esta propiedad permite asegurar que la información de un objeto esté oculta para el

mundo exterior, agrupando en una clase las características o atributos que tienen un

acceso privado, y los comportamientos o métodos que cuenta con un acceso público.

La encapsulación de cada objeto es responsable tanto de su información y de su estado.

El único modo en la que esta se puede modificar es a través los propios métodos del

objeto. De esta manera, los atributos internos de un objeto son ser inaccesibles desde

fuera, pudiéndose modificar sólo llamando a las funciones correspondientes. Así se

consigue mantener el estado a salvo de usos indebidos o que puedan resultar inesperados.

Para explicar la encapsulación usaremos un coche de ejemplo. El coche comparte

información pública mediante las luces de freno o intermitentes para indicar los giros
(interfaz pública). Por contra, la interfaz interna, el mecanismo propulsor del coche, está

oculto bajo el capó. Al conducir un automóvil es necesario indicar a otros conductores los

movimientos, pero no exponer datos privados sobre el tipo de combustible o la

temperatura del motor, ya que son muchos datos, lo que confundiría a los demás

conductores.

La abstracción

Otro de los principios de la Programación Orientada a Objetos es la abstracción, que se

produce cuando el usuario interactúa solo con los atributos y métodos seleccionados de

un objeto, usando herramientas simplificadas de alto nivel para acceder a un objeto

complejo.

En la POO, los programas suelen ser muy grandes y los objetos se comunican bastante

entre sí. De este modo, la abstracción facilita el mantenimiento de un código de gran

tamaño, donde pueden surgir distintos cambios con el paso del tiempo.

Así, la abstracción está basada en utilizar cosas simples para representar la complejidad.
Los objetos y las clases representan código subyacente, ocultando los detalles complejos

al usuario. Por ende, se trata de una extensión de la encapsulación. Continuando con el

ejemplo anterior, no es necesario que conozcas todos los detalles sobre cómo funciona el

motor de un coche para poder conducirlo.

La herencia

La herencia define relaciones jerárquicas entre clases, de modo que atributos y métodos

comunes puedan ser reutilizados. Las clases principales extienden atributos y

comportamientos a las clases secundarias. Mediante la definición en una clase de los

atributos y comportamientos básicos, pueden crearse clases secundarias, ampliando la

funcionalidad de la clase principal y añadiendo atributos y comportamientos extra. Es una

de las claves de la Programación Orientada a Objetos.

Siguiendo el ejemplo de los animales, puede emplearse una única clase de animal y

añadir un atributo de tipo de animal que especifique el tipo de animal. Los distintos tipos

de animales requerirán diferentes métodos, por ejemplo, los reptiles deben poder poner

huevos y los peces nadar. Incluso si los animales disponen de un método en común, como

moverse, la implementación requeriría muchas declaraciones “si” para garantizar el

comportamiento de movimiento idóneo. Por ejemplo, las ranas saltan, mientras que las
serpientes se deslizan. El principio de herencia permite solucionar dicho problema.

El polimorfismo

El polimorfismo reside en diseñar objetos para compartir comportamientos, lo que

permite procesar objetos de distintos modos. Es la capacidad de presentar la misma

interfaz para distintas maneras subyacentes o tipos de datos. Al usar la herencia, los

objetos pueden anular los comportamientos principales compartidos, con

comportamientos secundarios específicos. El polimorfismo permite que el mismo método

ejecute distintos

comportamientos de

dos modos: anulación de

método y sobrecarga de

método.
Conceptos fundamentales, como clases, objetos, propiedades y métodos.

Clase: Un objeto se crea a partir de una clase. Las clases y los objetos son los conceptos

más importantes de la programación orientada a objetos.

La clase es una plantilla que define la estructura y las características comunes de todos

los objetos de este tipo. Puedes crear múltiples objetos a partir de una sola clase; cada uno

tendrá sus propios valores y podrá realizar las operaciones definidas por esta clase. La

clase no ocupa espacio en la memoria de la computadora, mientras que un objeto si lo

hace, ya que lleva datos.

Una clase es una plantilla que define de manera genérica cómo van a ser los objetos

determinado tiempo. Por ejemplo, en un juego una clase para representar a personas

puede llamarse “persona” y tener una serie de atributos como nombre, apellido, edad (que

normalmente son propiedades), y una serie de comportamientos que pueden tener, como

hablar, caminar o comer y que se implementan como métodos de la clase (funciones).

Una clase por sí sola no sirve de nada, pues no es más que un concepto, sin entidad real.

Para poder utilizar una clase en un programa lo que hay que hacer es instanciarla.

Instanciar una clase consiste en crear un nuevo objeto concreto de la misma. Es decir, un

objeto es ya una entidad concreta que se crea a partir de la plantilla que es la clase. Este

nuevo objeto tiene ya "existencia" real, puesto que ocupa memoria y se puede utilizar en
el programa. Así un objeto puede ser una persona que se llama Cristina López, de 37 años

y que en nuestro programa podría hablar, caminar o comer, que son los comportamientos

que están definidos en la clase.

Objetos: Los objetos en programación representan cosas del mundo real, así como

conceptos abstractos con sus características y comportamientos específicos. Un objeto

cuenta con su estructura interna que combina variables, funciones y estructuras de datos.

Usando el nombre del objeto y la sintaxis según el lenguaje de programación, puedes

visualizar los valores del objeto y llamar las funciones que tiene predefinidas.

Los elementos de un objeto se dividen en dos categorías principales: propiedades y

métodos.

Las propiedades, también conocidas como atributos, incluyen información sobre el

objeto. Por ejemplo, si consideramos un objeto Coche, algunas de sus propiedades serán:

el color, la marca, el modelo o el año de fabricación.

Los métodos definen las operaciones que se pueden realizar con el objeto. Por ejemplo,

para el objeto Coche, los métodos podrían ser acelerar, frenar o girar.

Veamos otros ejemplos simples para ilustrar diferentes tipos de objetos:

Libro:

Propiedades: título, autor, editorial, año de publicación.

Métodos: abrir, cerrar, leer.

¿Para qué sirven los objetos?

- Los objetos permiten estructurar el código en módulos autónomos. Cada objeto cuenta

con su lógica interna y puede interactuar con otros objetos a través de interfaces

definidas.

- Pueden ser reutilizados en diferentes partes del programa o incluso en otros proyectos,
evitando la necesidad de escribir código repetitivo.

- Los objetos tienen datos (propiedades) e instrucciones (métodos) integrados.

Esto permite ocultar detalles internos para lograr un código claro y consistente, sin

elementos repetitivos.

- Pueden ser desarrollados de forma independiente, lo que facilita la colaboración entre

programadores. Cada miembro del equipo puede trabajar en diferentes objetos, siempre y

cuando se respete el mismo formato.

Resumen de la(as) lecturas

La programación orientada a objetos (POO) es un paradigma de programación que se

centra en la creación de software de calidad mediante la organización de programas en

objetos, cada uno con su conjunto de datos y funcionalidades. Este enfoque se aleja de la

lógica pura para centrarse en los objetos, facilitando la extensión y reutilización del

software. La POO busca adaptarse al modo de pensar humano, manejando abstracciones

que representan entidades del dominio y propiedades como jerarquía y encapsulamiento.

En la POO, un objeto es la representación de un concepto para un programa, conteniendo

toda la información necesaria para abstraer dicho concepto: datos que describen su estado

y operaciones que pueden modificarlo. La POO se basa en principios como

encapsulación, herencia, polimorfismo y modularidad para promover un diseño de

software limpio y modular. Lenguajes como Java, C++, y Python han adoptado este

paradigma a lo largo del tiempo. La POO se diferencia de la programación estructurada al

unir datos y procesos en objetos, a diferencia de separarlos en variables y funciones. Los

objetos en la POO representan entidades del mundo real o conceptuales, con atributos y

métodos definidos. Este paradigma ofrece beneficios como reutilización del código,

facilidad de mantenimiento, diseño intuitivo y escalabilidad. Aunque puede presentar


desafíos iniciales de complejidad para quienes vienen de un enfoque procedimental, sus

ventajas a largo plazo son significativas.

Metodología de trabajo (Cómo realizó la actividad)

Para realizar este trabajo accedí al módulo de la unidad #1 donde abordé los temas que

allí están empleados, para hacer una investigación más profunda de estos, resaltando lo

más importante y haciendo también consultas en fuentes externas al módulo de dicha

unidad.

Conclusiones de la lectura o actividad.

La Programación Orientada a Objetos (POO) es un enfoque fundamental en el desarrollo

de software que se ha consolidado como un paradigma esencial en la industria actual.

Este modelo de programación, basado en la organización de programas en objetos con

sus propios datos y funcionalidades, ha demostrado ser crucial para la creación de

aplicaciones flexibles, reutilizables y fáciles de mantener. La POO se destaca por su

capacidad para modelar entidades del mundo real de manera eficiente, simplificando la

complejidad y mejorando la comprensión del sistema.Al adoptar principios como

encapsulación, herencia, polimorfismo y modularidad, la POO promueve un diseño de

software limpio y estructurado, facilitando la colaboración en equipos de desarrollo y la

escalabilidad de los proyectos.

Discusiones y recomendaciones.

Bibliografía.

https://intelequia.com/es/blog/post/qu%C3%A9-es-la-programaci%C3%B3n-orientada-a-

objetos
https://portalacademico.cch.unam.mx/cibernetica1/algoritmos-y-codificacion/

caracteristicas-POO#:~:text=El%20paradigma%20de%20la%20programaci%C3%B3n,

%2C%20herencia%2C%20encapsulamiento%20y%20polimorfismo.

https://www.campusmvp.es/recursos/post/los-conceptos-fundamentales-sobre-

programacion-orientada-objetos-explicados-de-manera-simple.aspx

https://ebac.mx/blog/objeto-en-programacion

También podría gustarte