Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 8

Programación Orientada a Objetos

Tema I – Investigación de conceptos


principales del paradigma orientado a objetos.

Maestro(a): Diana Grisel Leal Ramos


Nombre: Abel Gil Zamora Grupo: C
N° Control: 22260113

30 de Enero del 2023

Paradigma de la Programación Orientada a Objetos


El paradigma de la programación orientada a objetos nació en 1969 de la
mano de Kristin Nygaard (Joyanes, 2002). Desde entonces, las tecnologías
orientadas a objetos han evolucionado mucho.

De acuerdo con Booch (1995), un objeto es algo que


tiene estado, comportamiento e identidad. Por ejemplo, en el mundo real,
un auto (objeto), tiene un determinado, color, cantidad de puertas,
cantidad de velocidades, capacidad de carga, etc (estado), y es capaz de
avanzar, frenar, cambiar de velocidad (comportamiento). Aunque dos autos
tengan características muy parecidas, en realidad son diferentes
(identidad). En un diseño orientado a objetos se crea una abstracción (o
modelo simplificado) del auto basado en sus estado y comportamiento. Un
objeto conoce cómo ejecutar acciones que alteren sus propios datos. Un
objeto consta de datos y acciones que se pueden ejecutar.

Un objeto es transitorio: se pierde cuando el programa termina, a menos


que pueda guardar sus datos en un disco o almacenamiento.

Para comunicarnos con un objeto se utilizan mensajes. Un mensaje incluye


un identificador que contiene la acción que ha de ejecutar el objeto junto
con datos que el objeto necesita para realizar el trabajo.

Un objeto tiene una interfaz, un conjunto de operaciones visibles que


simplifican el uso del objeto. Un objeto del mundo real tiene unos cuantos
botones para que el usuario opere a través de ellos. El usuario no puede ni
necesita abrir el aparato para poder operar sobre el. De igual forma, una
interfaz impide que el usuario tenga que conocer todos los detalles de
implementación del objeto, este concepto se conoce
como encapsulamiento.

Conceptos básicos de la orientación a objetos


Como ya hemos dicho la orientación a objetos se basa en conceptos como
clase, objeto, herencia y polimorfismo, pero también en otros muchos, los
cuales se explican a detalle a continuación.
1. Abstracción
La abstracción se enfoca en la vista externa del objeto y sirve para separar el
comportamiento esencial del objeto de su implementación. La abstracción se
enfoca sobre las características importantes de algún objeto, relativo a la
perspectiva de que observa.
Gracias a la abstracción podemos representar las características esenciales
de un objeto sin preocuparnos de las restantes características (no
esenciales). La abstracción se centra en la vista externa de un objeto, de
modo que sirva para separar el comportamiento esencial de un objeto de su
implementación.
En el sentido más general, una abstracción es una representación concisa de
una idea o de un objeto complicado. En un sentido más específico, la
abstracción localiza y oculta los detalles de un modelo o diseño para generar
y manipular objetos.
Una abstracción tiene un significado más general que la encapsulación,
pudiendo hablar de abstracción de datos en lugar de encapsulación de datos.
La abstracción es una estrategia de resolución de problemas en la cual el
programador se concentra en resolver una parte del problema ignorando
completamente los detalles sobre cómo se resuelven el resto de las partes.
En este proceso de abstracción se considera que el resto de las partes ya han
sido resueltas y por lo tanto pueden servir de apoyo para resolver la parte
que recibe la atención.
Imaginemos que se quiere aplicar la abstracción a las Computadoras, las
personas que compran una, no requieren saber de su funcionamiento
interno para poder utilizarla.
Si ahora, la abstracción la aplicamos a los Automóviles, sucede algo muy
similar, la persona que adquiere uno, no requiere saber cómo funciona de
manera interna, solo tiene que saber manejar y los servicios básicos
(gasolina, llevarlo a mantenimiento, agua, etc.).
2. Clase y objeto
Los objetos son las entidades básicas del modelo de objeto. La palabra objeto
proviene del latín objectus, donde ob significa hacía, y jacere significa arrojar;
o sea que teóricamente un objeto es cualquier cosa que se pueda arrojar.
Ejemplo: Una pelota o un libro se pueden arrojar, por lo tanto, estos son
objetos.
Por otro lado, un avión o un elefante también se consideran objetos, aunque
sean bastante pesados para ser arrojados. Los objetos son más que simples
cosas que se puedan arrojar, son conceptos pudiendo ser abstractos o
concretos.
Ejemplo: Una mesa es un objeto concreto, mientras que un viaje es un objeto
abstracto.
Los objetos corresponden por lo general a sustantivos, pero no a gerundios.
Ejemplo: Mesa y viaje son ambos sustantivos y por lo tanto objetos.
Trabajando y estudiando son gerundios por lo cual no se consideran objetos.

Todos los objetos son instancias de una clase y la clase de un objeto es una
propiedad implícita del objeto. Cada objeto conoce su clase y la mayoría de
los lenguajes de programación orientados al objeto pueden determinar la
clase de un objeto en tiempo de ejecución. La agrupación en clases de los
objetos permite la abstracción de un problema. Las definiciones comunes,
tales como nombres de clases y de atributos se almacenan una vez por cada
clase. Las operaciones se escriben una vez para cada clase: reutilización de
código.

3. Relación entre clases


Las relaciones entre clases juegan un papel importante en el modelo de
objetos.
Las clases, al igual que los objetos, no existen de modo aislado. Por esta
razón existirán relaciones entre clases y entre objetos. Las relaciones
entre clases, se deben a dos razones. La primera, una relación entre clases
puede indicar algún tipo de compartición (por ejemplo margaritas y rosas
son ambas tipos de flores). Segunda, una relación entre clases puede
indicar algún tipo de conexión semántica; por ejemplo, las rosas rojas y
amarillas, son más parecidas entre sí que las margaritas y las rosas.
Los tres grandes tipos de relaciones entre clases son:
 Generalización / especialización (es-un).
 Agregación (todo / parte).
 Asociación.

4. Polimorfismo

Hace referencia a la posibilidad de que dos métodos implementen


distintas acciones, aun teniendo el mismo nombre, dependiendo del
objeto que lo ejecuta o de los parámetros que recibe.

La palabra polimorfismo proviene del griego, y significa que posee


varias formas diferentes. Este es uno de los conceptos esenciales de
una programación orientada a objetos. Así como la herencia está
relacionada con las clases y su jerarquía, el polimorfismo se relaciona
con los métodos.

El polimorfismo permite referirse a objetos de clases diferentes


mediante el mismo elemento. Imaginamos que disponemos de una
clase profesor (Teacher) que también hereda de ser persona (Person) y
que ambas disponen del método trabaja (work) y que ambos
evidentemente lo hacen de una forma distinta.
En general, hay tres tipos de polimorfismo:
 Polimorfismo de sobrecarga
 Polimorfismo paramétrico (también llamado polimorfismo de
plantillas)
 Polimorfismo de inclusión (también llamado redefinición o
subtipado)
5. Encapsulamiento
La encapsulación es un mecanismo que consiste en organizar
datos y métodos de una estructura, conciliando el modo en
que el objeto se implementa, es decir, evitando el acceso a
datos por cualquier otro medio distinto a los especificados.
Por lo tanto, la encapsulación garantiza la integridad de los
datos que contiene un objeto.

El usuario de una clase en particular no necesita saber cómo


están estructurados los datos dentro de ese objeto, es decir,
un usuario no necesita conocer la implementación Al evitar
que el usuario modifique los atributos directamente y
forzándolo a utilizar funciones definidas para modificarlos
(llamadas interfaces), se garantiza la integridad de los datos
(por ejemplo, uno puede asegurarse de que el tipo de datos
suministrados cumple con nuestras expectativas bien que los
se encuentran dentro del periodo de tiempo esperado).

La encapsulación define los niveles de acceso para elementos


de esa clase. Estos niveles de acceso definen los derechos de
acceso para los datos, permitiéndonos el acceso a datos a
través de un método de esa clase en particular, desde una
clase heredada o incluso desde cualquier otra clase. Existen
tres niveles de acceso:

 Público: funciones de toda clase pueden acceder a los


datos o métodos de una clase que se define con el nivel
de acceso público. Este es el nivel de protección de
datos más bajo .
 Protegido: el acceso a los datos está restringido a las
funciones de clases heredadas, es decir, las funciones
miembro de esa clase y todas las subclases.
 Privado: el acceso a los datos está restringido a los
métodos de esa clase en particular. Este es nivel más
alto de protección de datos.

Bibliografía
Canelo, M. M. (2020, junio 9). ¿Qué son los paradigmas de programación? Profile

Software Services. https://profile.es/blog/que-son-los-paradigmas-de-

programacion/

De control, I. en G. C. S. A. M. U. T. P. D. L. P. E. S. A., & de información e

internet., H. la R. de L. S. (s/f). Conceptos del paradigma orientado a

objetos. Buap.mx. Recuperado el 31 de enero de 2023, de

http://bbeltran.cs.buap.mx/Unidad1.pdf

Paradigma de la Programación Orientada a Objetos -. (2016, agosto 25). Naps

Tecnología y educación. https://naps.com.mx/blog/paradigma-de-la-

programacion-orientada-a-objetos/

Programación Orientada a Objetos/Características de la POO. (s/f).

Wikibooks.org. Recuperado el 31 de enero de 2023, de

https://es.wikibooks.org/wiki/Programaci%C3%B3n_Orientada_a_Objetos

/Caracter%C3%ADsticas_de_la_POO

También podría gustarte