Вы находитесь на странице: 1из 5

Programacin Orientada a Objetos

(Fonseca, 2014) El paradigma orientado a objetos es una filosofa, un modelo de


programacin, con su teora y su metodologa, el cual es necesario conocer y
estudiar primero que todo.

La filosofa de la POO solo es una, lenguajes de POO son muchos...

Paradigmas de programacin

Paradigmas Existentes
Estructurados (C, Pascal, Basic, etc.).
Funcionales (Categorical Abstract Machine Language - CAML).
Declarativos o Logicos (Prolog, Mercury, Oz).

Nuevo Paradigma
Orientado a Objetos (C++, C#, Java).

Estructurados (C, Pascal, Basic, etc.)


Los programas estructurados estan compuestos unicamente de tres instrucciones
de control:

Secuencia (ejecucion ordenada de instrucciones).


Instruccion condicional (if-else-switch).
Iteracion (bucle de instrucciones) con condicion al principio.

Funcional (Categorical Abstract Machine Language - CAML)

Este paradigma se basa en englobar sentencias en diferentes funciones que se


llaman cada vez que tengan que se necesiten.
Una funcin es simplemente un conjunto de instrucciones que operan sobre unos
argumentos y producen un resultado.

Declarativos o Lgicos (Prolog, Mercury, Oz)

Este paradigma se basa en la definicin de reglas sin describir un flujo de control de


ningn tipo.

Orientado a Objetos (C++, C#, Java)

La programacin orientada a objetos es una modelacin sobre la observacin


del mundo real.
Establece relaciones y jerarquas entre los elementos involucrados y que
interactan entre ellos.
El elemento bsico no es la funcin, sino un ente denominado Objeto.
El mundo a travs de Objetos
Que es un Objeto?

(Fonseca, 2014) Un objeto es la representacin en un programa de un concepto, y


contiene toda la informacin necesaria para abstraerlo: datos que describen sus
atributos y operaciones que pueden realizarse sobre los mismos.

(Booch, 1994) Un objeto tiene estado, comportamiento e identidad; la estructura y


comportamiento de objetos similares estn definidos en su clase comn; los
trminos, instancia y objetos son intercambiables.

Estado: el estado de un objeto abarca todas las propiedades (normalmente


estticas) del mismo ms los valores actuales (normalmente dinmicos) de cada
una de esas propiedades.

Comportamiento: el comportamiento es como acta y reacciona un objeto, en


trminos de sus cambios de estado y paso de mensajes.

Identidad: la identidad es aquella propiedad de un objeto que lo distingue de todos


los dems objetos.
Elementos del modelo orientado a objetos

Abstraccin.
Encapsulamiento.
Modularidad.
Herencia.
Polimorfismo.

Modelo de calidad de McCall ilustrado a travs de una jerarqua de 11 factores de


calidad (en el lado izquierdo de la figura) relacionados con 23 criterios de calidad
(en el lado derecho de la figura).

Mantenibilidad (Maintainability):
La facilidad con la que se puede modificar un sistema o un componente de
software para corregir fallas, mejorar el rendimiento u otros atributos, o
adaptarse a un entorno cambiante.

Capacidad de prueba (Testability):


El grado en que un sistema o componente facilita el establecimiento de criterios de
prueba y la realizacin de pruebas para determinar si se han cumplido esos criterios.
Flexibilidad (Flexibility):
La facilidad con la que se puede modificar un sistema o un componente para su uso
en aplicaciones o entornos distintos de aquellos para los que se dise
especficamente.

Portabilidad (Portability):
La facilidad con la que un sistema o componente puede transferirse de un entorno
de hardware o software a otro.

Reusabilidad (Reusability):
El grado en que un mdulo de software u otro producto de trabajo se puede utilizar
en ms de un programa de cmputo o sistema de software.

Interoperabilidad (Interoperability):
La capacidad de dos o ms sistemas o componentes para intercambiar informacin
y utilizar la informacin que se ha intercambiado.

Modularidad

(Booch, 1994) La modularidad es la propiedad que permite subdividir una aplicacin


en partes mas pequeas (llamadas mdulos), cada una de las cuales debe ser tan
independiente como sea posible de la aplicacin en s y de las restantes partes.

Desde el punto de vista de la implementacin, la modularidad consiste en dividir una


aplicacin en mdulos que se puedan compilar por separado.

En UML el paquete es el mecanismo de propsito general para organizar


elementos de modelos en grupos.
En java los mdulos se denominan paquetes (package).
En C++ los mdulos son archivos compilados por separado.
En Ada cada mdulo se define como un paquete con dos partes: la
especificacin y el cuerpo del paquete.
En Object Pascal y Delphi los mdulos se denominan units y son un archivo
nico.
En C# se utilizan namespaces.

Un paquete puede contener clases, interfaces, componentes, Y otros


paquetes.
UML define algunos estereotipos estndar que se aplican a los paquetes.
o Subsystem
Especifica un paquete que representa una parte
independientemente del sistema completo que se est
modelando.
o System
Especifica un paquete que representa el sistema completo que
se esta modelando.

El diseo modular se puede enunciar con 5 criterios, 5 reglas y 5 principios.

Los 5 criterios Las 5 reglas Los 5 principios


o Descomponibilidad o Correspondencia directa o Unidades modulares
o Componibilidad o Pocas interfaces lingsticas
o Comprensibilidad o Interfaces pequeas o Auto-documentacin
o Continuidad o Interfaces explicitas o Acceso uniforme
o Proteccin o Ocultacin de la o Principio abierto-cerrado
informacin o Eleccin nica

Вам также может понравиться