ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Programacion Estructurada Y Progracion Orientada

karma141217 de Septiembre de 2014

15.202 Palabras (61 Páginas)310 Visitas

Página 1 de 61

Indice

1. Introduccion

2. Herencia y polimorfismo

3. El Paradigma Concurrente

4. El Paradigma Logico

5. El paradigma funcional

1. Introduccion

1-programacion orientada a objetos (p.o.o.).

Un proyecto de software es complejo. Las gui, acceso transparente a datos y capacidad de trabajo

En red, lo hacen mas complejo aun. Para enfrentarse a esta complejidad nace la poo.

2-que es la poo?.

Es una tecnica o estilo de programacion que utiliza objetos como bloque fundamental de Construccion.

3-elementos basicos de la poo.

Bloques

Son un conjunto complejo de datos (atributos) y funciones (metodos) que poseen una determinada

Estructura y forman parte de una organizacion.

Los atributos definen el estado del objeto; los metodos, su comportamiento.

Metodos

Es un programa procedimental que esta asociado a un objeto determinado y cuya ejecucion solo

Puede desencadenarse a traves del mensaje correspondiente.

Mensajes

Es simplemente una peticion de un objeto a otro para que este se comporte de una manera

Determinada, ejecutando uno de sus metodos.

Los mensajes comunican a los objetos con otros y con el mundo exterior. A esta tecnica de enviar

Mensajes se la conoce como paso de mensajes.

Clases

Es un tipo definido por el usuario que determina la estructura de datos y las operaciones

Asociadas con ese tipo.

4-caracteristicas.

Abstraccion

Significa extraer las propiedades esenciales de un objeto que lo distinguen de los demas tipos de

Objetos y proporciona fronteras conceptuales definidas respecto al punto de vista del observador.

Es la capacidad para encapsular y aislar la informacion de diseno y ejecucion.

Encapsulamiento

Es el proceso de almacenar en un mismo compartimiento (una caja negra) los elementos de una

Abstraccion (toda la informacion relacionada con un objeto) que constituyen su estructura y su

Comportamiento. Esta informacion permanece oculta tanto para los usuarios como para otros objetos

Y puede ser accedida solo mediante la ejecucion de los metodos adecuados.

Herencia

Es la propiedad que permite a los objetos construirse a partir de otros objetos.

La clase base contiene todas las caracteristicas comunes. Las sub-clases contienen las

Caracteristicas de la clase base mas las caracteristicas particulares de la sub-clase.

Si la sub-clase hereda caracteristicas de una clase base, se trata de herencia simple.

Si hereda de dos o mas clases base, herencia multiple.

Polimorfismo

Literalmente significa "cualidad de tener mas de una forma". En poo, se refiere al hecho que una

Misma operacion puede tener diferente comportamiento en diferentes objetos. En otras palabras,

Diferentes objetos reaccionan al mismo mensaje de modo diferente.

5-ventajas.

Modelos

La poo permite realizar un modelo de sistema casi independientemente de los requisitos del

Proyecto. La razon es que en la poo la jerarquia la establecen los datos, en cambio en la

Programacion estructurada la jerarquia viene definida por los programas.

Este cambio hace que los modelos se establezcan de forma similar al razonamiento humano y, por lo

Tanto, resulte mas natural.

Modularidad

Un programa es modular si se compone de modulos independientes y robustos. Esto permite la

Reutilizacion y facilita la verificacion y depuracion de los mismos. En poo, los modulos estan

Directamente relacionados con los objetos. Los objetos son modulos naturales ya que corresponden

A una imagen logica de la realidad.

Extensibilidad

Durante el desarrollo de sistemas, ocurre la aparicion de nuevos requisitos, por eso es deseable

Que las herramientas de desarrollo permitan anadirlos sin modificar la estructura basica del

Diseno. En poo es posible lograr esto siempre y cuando se hayan definido de forma adecuada la

Jerarquia de clases, los atributos y metodos.

Eliminacion de redundancia

En el desarrollo de sistemas se desea evitar la definicion multiple de datos y funciones comunes.

En poo esto se logra mediante la herencia (evita la definicion multiple de propiedades comunes a

Muchos objetos) y el polimorfismo (permite la modificacion de metodos heredados). Solo hay que

Definir los atributos y los metodos en el antepasado mas lejano que los comparte.

Reutilizacion

La poo proporciona un marco perfecto para la reutilizacion de las clases. El encapsulamiento y la

Modularidad nos permiten utilizar una y otra vez las mismas clases en aplicaciones distintas. En

Efecto, el aislamiento entre distintas clases significa que es posible anadir una nueva clase o

Un modulo nuevo (extensibilidad) sin afectar al resto de la aplicacion.

6-lenguajes en poo.

Puros

Son los que solo permiten realizar programacion orientada a objetos. Ej: smalltalk, java.

Hibridos

Son los que permiten la poo con la programacion estructurada. Ej: c++, pascal.

7-poo en c++ y java.

A)tipos de clases

Una de las principales decisiones al trabajar con poo es la de seleccion de clases. Existen 4

Tipos:

• Manejadoras de datos o de estados: su responsabilidad principal es mantener informacion

De datos o estado. Se reconocen como los sustantivos en la descripcion de un problema y

Generalmente son los bloques de construccion mas importantes de un diseno.

• Pozos o fuentes de datos: estas clases generan datos o los aceptan para procesarlos mas

Adelante. A diferencia de los anteriores, estas clases no retiene los datos por un periodo de

Tiempo sino que los genera sobre demanda o los procesa cuando se le llama.

• Vistas: se encargan de la presentacion de la informacion.

• Auxiliares o de ayuda: guardan poca o ninguna informacion de estado, pero que asisten en

La ejecucion de tareas complejas.

B)sintaxis de una clase

C++:

Class nombre_clase [: [public/protected/private] clase_madre]

{

[lista de atributos];

[lista de metodos];

};

Java:

[public] [final/abstract] class nombre_clase [extends clase_madre]

[implements interface1, [interface2,...]...]

{

[lista de atributos];

[lista de metodos];

};

C)modificadores de acceso a miembros de clases

Existen 3 tipos de usuarios de una clase:

• La propia clase.

• Usuarios genericos (otras clases, metodos, etc)

• Clases derivadas.

Cada usuario tiene distintos privilegios o niveles de acceso.

C++:

Private

Por defecto todo lo declarado dentro de la clase es privado y solo puede ser accedido por

Funciones miembro o por funciones amigas.

Public

Pueden ser accedidos por funciones miembro y no miembro de una clase.

Protected

Pueden ser accedidos por funciones miembro, por funciones amigas o por funciones miembro de sus

Clases derivadas.

Java:

Private

Solo puede ser accedida por metodos propios de la clase.

Private-protected

Pueden ser accedidos por las sub-clases, sin importar el paquete al que pertenezcan. Sin embargo,

Las sub-clases solo pueden modificar estos atributos para objetos de la sub-clase, no de la clase

Madre.

Protected

Permite el acceso a las sub-clases y a las clases del mismo paquete.

Friendly

Es el valor por defecto. Permite el acceso solo a clases del mismo paquete.

Public

Pueden ser accedidas por todos.

D)atributos

Las variables declaradas dentro de un metodo son locales a el; las declaradas en el cuerpo de la

Clase son miembros de ella y son accesibles por todos los metodos de la clase.

Los atributos miembros de la clase pueden ser: atributos de clase (declarado como static) o

Atributos de instancia.

C++:

[static]tipo_dato nombre_dato; (no se puede inicializar un dato miembro de una clase)

Java:

[modificador_de_acceso] [static] [final] [transient] [volatile] tipo_dato nombre_dato [= valor];

Final

Implica que un atributo no puede ser sobreescrito o redefinido, es decir que no se trata de una

Variable sino de una constante.

Transient

Son atributos que no se graban cuando se archiva un objeto, o sea no forman parte permanente del

Estado de este.

Volatile

Se utiliza cuando la variable puede ser modificada por distintos threads. Basicamente implica que

Varios threads pueden modificar la variable en forma simultanea, y volatile asegura que se vuelva

A leer la variable, por si fue modificada, cada vez que se la vaya a usar.

E)metodos

Dentro de los metodos pueden incluirse:

• Declaraciones de variables locales.

• Asignaciones a variables.

• Operaciones matematicas.

• Llamados a otros metodos.

• Estructuras de control.

• Excepciones.

C++:

Se puede declarar y definir dentro de la clase:

Class nombre_clase

{

tipo_dato dato;

[modificador_de_acceso]:

tipodato_devuelto nombre_metodo(parametros)

{

cuerpo_metodo;

};

}

Tambien, se puede declarar

...

Descargar como (para miembros actualizados) txt (88 Kb)
Leer 60 páginas más »
Disponible sólo en Clubensayos.com