Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 5

ANÁLISIS DE ALGORITMO

FERNANDO JOSE VASQUEZ CUESTA

JUAN CARLOS NAVARRO RAMOS

PROGRAMACIÓN ORIENTADA A OBJETOS

CIENCIAS E INGENIERIA

INGENIERIA DE SISTEMAS E INFORMACION

UNIVERIDAD DEL SINU ELIAS BECHARA ZAINUM

MONTERIA – CORDOBA

2020
Técnicas de la programación orientada a objetos.
La programación Orientada a objetos (POO, u OOP según sus siglas en inglés)
es un paradigma de programación que usa objetos en sus interacciones, para
diseñar aplicaciones y programas informáticos.
Está basada en varias técnicas, incluyendo herencia, cohesión, abstracción,
polimorfismo, acoplamiento y encapsulamiento. Su uso se popularizó a
principios de la década de 1990. En la actualidad, existe una gran variedad de
lenguajes de programación que soportan la orientación a objetos. (Ángel
Roldán, 2017).

Clasificación jerárquica de objetos.


El proceso de clasificación jerárquica consiste en separar un conjunto de
objetos en clases y subclases. Intervienen las variables que son las que
determinan los criterios que permiten separar las clases y subclases (De
Sánchez, 2004). 

Recibe este nombre porque una vez que se establece un orden para tomar las
variables de clasificación se obtienen diferentes niveles o subclases, uno para
cada variable.

Las clases son tipos.


Una clase es una plantilla para la creación de objetos de datos según un
modelo predefinido. Las clases se utilizan para representar entidades o
conceptos. Cada clase es un modelo que define un conjunto de variables (el
estado), y métodos apropiados para operar con dichos datos (el
comportamiento). Cada objeto creado a partir de la clase se
denomina instancia de la clase.
Las clases son un pilar fundamental de la programación orientada a objetos.
Permiten abstraer los datos y sus operaciones asociadas al modo de una caja
negra. Los lenguajes de programación que soportan clases difieren sutilmente
en su soporte para diversas características relacionadas con clases. La mayoría
soportan diversas formas de herencia.

C++ está diseñado para la programación orientada a objetos (POO), y en ese


paradigma, todas las entidades que podemos manejar son objetos. Los
punteros en C++ sirven para señalar objetos, y también para manipularlos.

Paso de mensajes Polimórfico.

En programación orientada a objetos, el polimorfismo se refiere a la propiedad


por la que es posible enviar mensajes sintácticamente iguales
a objetos de tipos distintos. El único requisito que deben cumplir los objetos
que se utilizan de manera polimórfica es saber responder al mensaje que se les
envía.

La apariencia del código puede ser muy diferente dependiendo del lenguaje
que se utilice, más allá de las obvias diferencias sintácticas.

Por ejemplo, en un lenguaje de programación que cuenta con un sistema de


tipos dinámico (en los que las variables pueden contener datos de cualquier
tipo u objetos de cualquier clase) como Smalltalk se requiere que los objetos
que se utilizan de modo polimórfico sean parte de una jerarquía de clases.

Características de un lenguaje orientado a objetos.


Hay un cierto desacuerdo sobre exactamente qué características de un método
de programación o lenguaje le definen como “orientado a objetos”, pero hay
un consenso general en que las características siguientes son las más
importantes (para más información, seguir los enlaces respectivos):

Abstracción: Cada objeto en el sistema sirve como modelo de un “agente”


abstracto que puede realizar trabajo, informar y cambiar su estado, y
“comunicarse” con otros objetos en el sistema sin revelar cómo se
implementan estas características. Los procesos, las funciones o los métodos
pueden también ser abstraídos y cuando lo están, una variedad de técnicas son
requeridas para ampliar una abstracción.

Encapsulamiento: Significa reunir a todos los elementos que pueden


considerarse pertenecientes a una misma entidad, al mismo nivel de
abstracción. Esto permite aumentar la cohesión de los componentes del
sistema. Algunos autores confunden este concepto con el principio de
ocultación, principalmente porque se suelen emplear conjuntamente.

Principio de ocultación: Cada objeto está aislado del exterior, es un módulo


natural, y cada tipo de objeto expone una interfaz a otros objetos que
especifica cómo pueden interactuar con los objetos de la clase. El aislamiento
protege a las propiedades de un objeto contra su modificación por quien no
tenga derecho a acceder a ellas, solamente los propios métodos internos del
objeto pueden acceder a su estado. Esto asegura que otros objetos no pueden
cambiar el estado interno de un objeto de maneras inesperadas, eliminando
efectos secundarios e interacciones inesperadas. Algunos lenguajes relajan
esto, permitiendo un acceso directo a los datos internos del objeto de una
manera controlada y limitando el grado de abstracción. La aplicación entera se
reduce a un agregado o rompecabezas de objetos.

Polimorfismo: comportamientos diferentes, asociados a objetos distintos,


pueden compartir el mismo nombre, al llamarlos por ese nombre se utilizará el
comportamiento correspondiente al objeto que se esté usando. O dicho de otro
modo, las referencias y las colecciones de objetos pueden contener objetos de
diferentes tipos, y la invocación de un comportamiento en una referencia
producirá el comportamiento correcto para el tipo real del objeto referenciado.
Cuando esto ocurre en “tiempo de ejecución”, esta última característica se
llama asignación tardía o asignación dinámica. Algunos lenguajes
proporcionan medios más estáticos (en “tiempo de compilación”) de
polimorfismo, tales como las plantillas y la sobrecarga de operadores de C++.

Herencia: las clases no están aisladas, sino que se relacionan entre sí,
formando una jerarquía de clasificación. Los objetos heredan las propiedades
y el comportamiento de todas las clases a las que pertenecen. La herencia
organiza y facilita el polimorfismo y el encapsulamiento permitiendo a los
objetos ser definidos y creados como tipos especializados de objetos
preexistentes. Estos pueden compartir (y extender) su comportamiento sin
tener que volver a implementarlo. Esto suele hacerse habitualmente agrupando
los objetos en clases y estas en árboles o enrejados que reflejan un
comportamiento común. Cuando un objeto hereda de más de una clase se dice
que hay herencia múltiple. n

La herencia versus jerarquía.

También podría gustarte