Grupo 38 XD

viernes, enero 12, 2007

Abstracción Funcional en JAVA

La abstracción funcional en JAVA, se centra en sus METODOS (subprogramas), para ello hay que tener en cuenta:


- Definición de Métodos
- Los métodos como mecanismo de abstracción
- Tipo devuelto por un metodo
- Terminacion de métodos (return)
- Parámetros de un método. Y tipos de parámetros.
- Sobrecarga de métodos

La tarea asignada a un método debe estar, por un lado, bien definida, y por otro, el nombre asignado a un método debe indicar exactamente lo que hace. El contenido del mismo no debe de ser muy extenso, ya que de ser así, provocariamos un alto coste de mantenimiento para el futuro. Y por otro lado, la modularidad(Parte muy importante en la abstracción funcional de JAVA), también se vería gravemente afectada.

Todos los métodos deben de especificar el tipo de dato que este va a devolver, cualquier tipo básico de datos se adapta a esto, pero quizás el mas "especial" sea void. ¿Por qué?, pues sencillamente porque un método en JAVA funciona como una función en Pascal, solo cuando void se define como tipo de dato a devolver, es cuando este método se parece más a un procedimiento que a una función. En cualquier otro caso, la devolución del dato siempre viene dada por la palabra reservada return, es en este momento cuando un método llega a su fin, y se devuelve en control al invocador del método en cuestión. Tal vez, antes de devolver el control al invocador, el método puede que se haya llamado a si mismo recursivamente. La recursión, por definición, es una técnica de programación mediante la cual los procedimientos y funciones se llaman a sí mismos. ¿Por qué se utiliza este manera de programar?, se utiliza cuando es difícil encontrar o implementar una solución basada en bucles.

Para la ejecución de un método es necesario, en algunos casos, el paso de algún tipo de parámetros, donde va a ser necesario y obligatorio especificar el tipo de cada uno, es decir:

public void prueba(int x,y) // MAL
public void prueba(int x; int y) //
BIEN

El paso de parámetros puede ser:

-Por Valor: Se le pasa una copia del valor, donde los cambios realizados a dicho valor no afectan a la variable utilizada como parámetro.

-Por Referencia: Se referencia a los datos de variable pasada como parámetro, pero esta vez, los cambios que se puedan realizar durante la ejecución del método, si se verán reflejados en la variable.

Se distinguen tres tipos de parámetros:

Parámetros de Entrada: Son parámetros de sólo lectura, cuyo valor no puede ser modificado por el procedimiento o función.

Parámetros de salida: Son parámetros de sólo salida. El procedimiento o función no puede leer su valor, únicamente cambiarlo.

Parámetros de entrada y salida: El procedimiento o función puede leerlos y escribirlos.

Los Métodos deben de estar declarados dentro del cuerpo de una clase, porque a diferencia de otros lenguajes de programación, en JAVA no se pueden declarar métodos dentro de otros métodos.

Sabiendo esto, las funciones se utilizan como herramientas de abstracción (separación), porque su comportamiento (lo que hacen) puede ser separado (abstraido) de su implementación
(cómo lo hacen). En conclusión, la abstracción funcional está estrechamente ligada a las técnicas de diseño funcional descendente y a la programación estructurada.

martes, noviembre 14, 2006

Paradigma de Orientacion a Objetos

La programación orientada a objetos es más moderna, es una evolución de la programación imperativa. Se basa en lenguajes que soportan sintáctica y semánticamente la unión entre los tipos abstractos de datos y sus operaciones.

Algunos conceptos relacionados con este tipo de programación son:

-Objeto: Entidad compuesta de un conjunto de atributos (datos) y de metodos (funcionalidades). Corresponden a los objetos reales del mundo que nos rodea, o a objetos internos del sistema (programa).

-Clase: Definiciones de las propiedades y comportamiento de un tipo de objeto concreto

-Herencia: Las clases no están aisladas, sino que se relacionan entre sí, formando una jerarquía. Los objetos heredan las propiedades y el comportamiento de todas las clases a las que pertenecen.

-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.

-Encapsulacmiento: 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

Paradigma Imperativo

Sigue una estructura Top-Down constituida principalmente por Procedimientos y Funciones:

-Variable: 'Elemento utilizado' para almacenar valores durante la ejecucion del programa.

- Funcion: algoritmo separado del algoritmo principal, el cual permite resolver una tarea específica, devolviendo un valor especificado.

-Procedimiento: La idera es la misma que para las funciones solo que estes no devuelven ningun resultado.

-Modulo: Conjunto de subprogramas (Procedimientos y Funciones) los cuales son usados por el programa principal

Finalidad

Blog dedicado a uso academico para la asignatura de Lenguajes de Programación