Está en la página 1de 8

PROGRAMACIN AVANZADA

Caractersticas asociadas a POO

La programacin orientada a objetos o POO (OOP segn sus siglas en ingls) es un paradigma de programacin que usa objetos y sus interacciones para disear aplicaciones y programas de ordenador. Sus caractersticas principales son herencia, abstraccin modularidad, polimorfismo y encapsulamiento. Su uso se populariz a principios de la dcada de 1990. Actualmente son muchos los lenguajes de programacin que soportan la orientacin a objetos

Conceptos: Objeto: entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o funcionalidad (mtodos) los mismos que consecuentemente reaccionan a eventos. Se corresponde con los objetos reales del mundo que nos rodea, o a objetos internos del sistema (del programa). Es una instancia a una clase. Evento: Es un suceso en el sistema (tal como una interaccin del usuario con la mquina, o un mensaje enviado por un objeto). El sistema maneja el evento enviando el mensaje adecuado al objeto pertinente. Tambin se puede definir como evento, a la reaccin que puede desencadenar un objeto, es decir la accin que genera. Mensaje: una comunicacin dirigida a un objeto, que le ordena que ejecute uno de sus mtodos con ciertos parmetros asociados al evento que lo gener. Clase: definiciones de las propiedades y comportamiento de un tipo de objeto concreto. Mtodo: Algoritmo asociado a un objeto (o a una clase de objetos), cuya ejecucin se desencadena tras la recepcin de un "mensaje". Desde el punto de vista del comportamiento, es lo que el objeto puede hacer. Un mtodo puede producir un cambio en las propiedades del objeto, o la generacin de un "evento" con un nuevo mensaje para otro objeto del sistema. Propiedad o atributo: contenedor de un tipo de datos asociados a un objeto (o a una clase de objetos), que hace los datos visibles desde fuera del objeto y esto se define como sus caractersticas predeterminadas, y cuyo valor puede ser alterado por la ejecucin de algn mtodo.

Luis Martnez Espinosa Maestra en Ciencias de la Computacin CU UAEM TEXCOCO

PROGRAMACIN AVANZADA

Abstraccin

Representacin directa de elementos que "maneja" el usuario en el mundo real. Consiste en recrear el mundo real. No se trata de construir "modelos ideales", sino de representarlo directamente. Por ello, en este enfoque, primero se identifican las caractersticas de los elementos del mundo real, los que se organizan en las denominadas ESTRUCTURAS DE DATOS. Luego se captan los comportamientos u operaciones, los cuales se imitan o simulan mediante pequeos programas (procedimientos) a los que en adelante denominaremos METODOS. Y as como en la vida real conceptualizamos en una sola unidad (datos y comportamiento), en TO simulamos este hecho colocando en una especie de "cpsula" las estructuras de datos y los mtodos, a esta unidad denominamos OBJETO.

Tambin se simula la manera en que los entes del mundo real se comunican entre s, envindose seales o "mensajes" a los que responden con una conducta o comportamiento especfico, de la misma manera se simulan las clasificaciones, ordenamiento, organizacin, e incluso la herencia de los seres vivos.

La abstraccin consiste en captar las caractersticas esenciales de un objeto, as como su comportamiento. Por ejemplo, volvamos al ejemplo de los automviles, Qu caractersticas podemos abstraer de los automviles? O lo que es lo mismo Qu caractersticas semejantes tienen todos los automviles? Todos tendrn una marca, un modelo, nmero de chasis, peso, llantas, puertas, ventanas, etc. Y en cuanto a su comportamiento todos los automviles podrn acelerar, frenar, retroceder, etc.

En los lenguajes de programacin orientada a objetos, el concepto de Clase es la representacin y el mecanismo por el cual se gestionan las abstracciones .

Encapsulamiento

Utilizacin del concepto de "Caja Negra" a una potencia mucho mayor. Empaquetar datos y operaciones en forma conjunta se llama ENCAPSULACION. Luis Martnez Espinosa Maestra en Ciencias de la Computacin CU UAEM TEXCOCO

PROGRAMACIN AVANZADA

La encapsulacin es el resultado (o acto) de ocultar, al usuario, los detalles de la implementacin de un objeto. El objeto oculta sus datos a otros objetos y slo permite accesar a sus datos va sus propios mtodos mediante mensajes especficos, es decir, se crea una " Caja Negra" que solo el constructor del objeto conoce. A esto se llama ocultamiento de informacin. La encapsulacin protege los datos de un objeto de la corrupcin. Si todos los programas pudieran accesar a los datos (como actualmente sucede con la tecnologa estructurada), fcilmente puede corromperse o perderse. La encapsulacin protege los datos del objeto del uso arbitrario y no intencionado. As la creacin est protegida y la competencia garantizada.

La encapsulacin tiene dos beneficios primordiales:

a.- Modularidad. El cdigo de un objeto puede ser escrito y se puede mantener independiente del cdigo de otros objetos. Un objeto se puede mover de sistema en sistema, se puede quitar, modificar y volver a colocar sin alterar el sistema general.

b.- Ocultamiento. Es la capacidad de ocultar los detalles internos del comportamiento de una Clase y exponer slo los detalles que sean necesarios para el resto del sistema. Un objeto tiene una interfaz con la que otros objetos se pueden comunicar, pero puede mantener informacin privada para s misma que puede cambiar en cualquier momento, sin afectar a los objetos que dependen de sta. El ocultamiento permite 2 cosas: restringir y controlar el uso de la Clase. Restringir porque habr cierto comportamiento privado de la Clase que no podr ser accedido por otras Clases. Y controlar porque daremos ciertos mecanismos para modificar el estado de nuestra Clase y es en estos mecanismos dnde se validarn que algunas condiciones se cumplan.

Herencia

Se aplica sobre las clases, de alguna forma las clases pueden tener descendencia, y sta heredar algunas caractersticas de las clases "padres". Si disponemos las clases con un formato de rbol genealgico, tenderemos lo que se denomina una estructura jerarquizada de clases.

Luis Martnez Espinosa Maestra en Ciencias de la Computacin CU UAEM TEXCOCO

PROGRAMACIN AVANZADA

La OOP promueve en gran medida que las relaciones entre objetos se basen en construcciones jerrquicas. Esto es, las clases pueden heredar diferencialmente de otras clases (denominadas "superclases") determinadas caractersticas, mientras que, a la vez, pueden definir las suyas propias. Tales clases pasan, as, a denominarse "subclases" de aqullas.

La herencia se implementa mediante un mecanismo que se denomina derivacin de clases: las superclases pasan a llamarse clases base, mientras que las subclases se constituyen en clases derivadas. El mecanismo de herencia est fuertemente entroncado con la reutilizacin del cdigo en OOP. Una clase derivada posibilita, el fcil uso de cdigo ya creado en cualquiera de las clases base ya existentes.

Reutilizacin

La reutilizacin del software ha experimentado resultados dispares, encontrando dos dificultades principales: el diseo de objetos realmente genricos es pobremente comprendido, y falta una metodologa para la amplia comunicacin de oportunidades de reutilizacin. Algunas comunidades de cdigo abierto (open source) quieren ayudar en este problema dando medios a los desarrol ladores para diseminar la informacin sobre el uso y versatilidad de objetos reutilizables y bibliotecas de objetos.

Polimorfismo

Es una caracterstica de un lenguaje de programacin que permite que el mismo operador sea utilizado con tipos diferentes. Dicho de otra forma, si se tiene una aritmtica definida con ciertos operadores, sera deseable que permita utilizar la misma notacin para los nuevos tipos de operadores que se definan.

Esta propiedad, como su mismo nombre sugiere mltiples formas, se refiere a la posibilidad de acceder a un variado rango de funciones distintas a travs del mismo interfaz . O sea, que, en la prctica, un mismo identificador puede tener distintas formas (distintos cuerpos de funcin, distintos comportamientos) dependiendo, en general, del contexto en el que se halle inserto. Luis Martnez Espinosa Maestra en Ciencias de la Computacin CU UAEM TEXCOCO

PROGRAMACIN AVANZADA

El polimorfismo se puede establecer mediante la sobrecarga de identificadores y operadores, la ligadura dinmica y las funciones virtuales. El trmino sobrecarga se refiere al uso del mismo identificador u operador en distintos contextos y con distintos significados.

La sobrecarga de funciones conduce a que un mismo nombre pueda representar distintas funciones con distinto tipo y nmero de argumentos. En el mbito de la OOP, la sobrecarga de funciones equivale a que un mismo mensaje puede ser enviado a objetos de diferentes clases de forma que cada objeto respondera al mensaje apropiadamente. La sobrecarga de operadores permite, por otro lado, el desarrollo de un cdigo ms coherente, como especializacin de la sobrecarga de funciones, posibilitando la re-definicin (para tipos de datos definidos-por-el-usuario) de las operaciones realizadas por stos (+, -, *, >, etc.). Esto es, ocurre lo mismo que en la sobrecarga de funciones, pero aqu, en vez de identificadores de funciones, tenemos operadores.

Luis Martnez Espinosa Maestra en Ciencias de la Computacin CU UAEM TEXCOCO

PROGRAMACIN AVANZADA

Caractersticas asociadas a la POO

La programacin orientada a objetos es un paradigma de programacin que usa objetos y sus interacciones para disear aplicaciones y programas de ordenador. Sus caractersticas principales son herencia, abstraccin modularidad, polimorfismo y encapsulamiento.

Abstraccin

Identifica las caractersticas de los elementos del mundo real, se captan los comportamientos u operaciones, los cuales se imitan o simulan mediante pequeos programas (procedimientos) a los que denominamos MTODOS y as conceptualizamos en una sola unidad lo que conocemos como objeto OBJETO.

La abstraccin consiste en captar las caractersticas esenciales de un objeto, as como su comportamiento. En los lenguajes de programacin orientada a objetos, el concepto de Clase es la representacin y el mecanismo por el cual se gestionan las abstracciones .

Encapsulamiento

Empaquetar datos y operaciones en forma conjunta se llama ENCAPSULACION.

La encapsulacin es el resultado (o acto) de ocultar, al usuario, los detalles de la implementacin de un objeto. El objeto oculta sus datos a otros objetos y slo permite accesar a sus datos va sus propios mtodos mediante mensajes especficos, es decir, se crea una " Caja Negra" que solo el constructor del objeto conoce.

Luis Martnez Espinosa Maestra en Ciencias de la Computacin CU UAEM TEXCOCO

PROGRAMACIN AVANZADA

Beneficios:

a.- Modularidad. El cdigo de un objeto puede ser escrito y se puede mantener independiente del cdigo de otros objetos.

b.- Ocultamiento. Es la capacidad de ocultar los detalles internos del comportamiento de una Clase y exponer slo los detalles que sean necesarios para el resto del sistema.

Herencia

Las clases pueden heredar diferencialmente de otras clases (denominadas "superclases") determinadas caractersticas, mientras que, a la vez, pueden definir las suyas propias. Tales clases pasan, as, a denominarse "subclases" de aqullas.

La herencia se implementa mediante un mecanismo que se denomina derivacin de clases: las superclases pasan a llamarse clases base, mientras que las subclases se constituyen en clases derivadas.

Polimorfismo

Es una caracterstica de un lenguaje de programacin que permite que el mismo operador sea utilizado con tipos diferentes. Dicho de otra forma, si se tiene una aritmtica definida con ciertos operadores, sera deseable que permita utilizar la misma notacin para los nuevos tipos de operadores que se definan.

Se refiere a la posibilidad de acceder a un variado rango de funciones distintas a travs del mismo interfaz.

Luis Martnez Espinosa Maestra en Ciencias de la Computacin CU UAEM TEXCOCO

PROGRAMACIN AVANZADA

Se puede establecer mediante la sobrecarga de identificadores y operadores, la ligadura dinmica y las funciones virtuales. El trmino sobrecarga se refiere al uso del mismo identificador u operador en distintos contextos y con distintos significados.

Luis Martnez Espinosa Maestra en Ciencias de la Computacin CU UAEM TEXCOCO

También podría gustarte