Fundamentos de programacion conceptos basicos

Solo disponible en BuenasTareas
  • Páginas : 11 (2643 palabras )
  • Descarga(s) : 0
  • Publicado : 26 de septiembre de 2010
Leer documento completo
Vista previa del texto
Programación Orientada a Objetos
Conceptos Fundamentales

Paradigmas de programación
Prog. orientada a objetos

Tipos Abstractos de Datos

Programación estructurada

Programación imperativa
A.Ortigosa POO - EPS - UAM 2

1

Paradigmas de programación
Prog. orientada a objetos

Tipos Abstractos de Datos

Comandos E. de D. simples

Programación estructurada

Programaciónimperativa

A.Ortigosa

POO - EPS - UAM

3

Paradigmas de programación
Prog. orientada a objetos

• Abstracción de Operaciones
Tipos Abstractos de Datos

Programación estructurada

• Módulos: • Procedimientos • Funciones • Bloques

Programación imperativa

A.Ortigosa

POO - EPS - UAM

4

2

Programación estructurada: abstracción de operaciones
Entrada Entrada

arg1arg1

arg2

arg3

Salida
A.Ortigosa POO - EPS - UAM

Salida

5

Programación estructurada: estructura de un módulo
 Interfaz
  

Datos de entrada Datos de salida Descripción funcionalidad


¿Qué hace?

 Implementación
 

Datos locales Secuencia de instrucciones
POO - EPS - UAM 6

A.Ortigosa

3

Programación estructurada: estructura de un módulo
 Interfaz  

Datos de entrada Datos de salida Descripción funcionalidad


¿Qué hace?

 Implementación
 

Datos locales Secuencia de instrucciones
POO - EPS - UAM 7

A.Ortigosa

Programación estructurada
 Ejemplo:
void main () { double u1, u2, m; u1 = 4; u2 = -2; m = sqrt (u1*u1 + u2*u2); printf (”%lf”, m); }

double modulo (double u1, double u2) { double m; m = sqrt (u1*u1 +u2*u2); return m; } void main () { printf (”%lf”, modulo (4, -2)); }

A.Ortigosa

POO - EPS - UAM

8

4

Programación estructurada: ventajas
 Facilita el desarrollo
 



Se evita la repetición del trabajo Trabajo de programación dividido en módulos independientes Diseño top-down: descomposición en subproblemas Claridad del código Independencia de los módulos

 Facilita elmantenimiento
 

 Favorece la reutilización

A.Ortigosa

POO - EPS - UAM

9

Paradigmas de programación
Prog. orientada a objetos

Tipos Abstractos de Datos

Abstracción Datos + Abstracción Operaciones

Programación estructurada

Programación imperativa

A.Ortigosa

POO - EPS - UAM

10

5

TAD: Abstracción de datos
c a b x y z

A.Ortigosa

POO - EPS - UAM

11TAD
 Un TAD consiste en:




Estructura de datos que almacena información para representar un determinado concepto Funcionalidad: conjunto de operaciones que se pueden realizar sobre el tipo de datos

A.Ortigosa

POO - EPS - UAM

12

6

TAD: ejemplo en C
struct vector { double x; double y; }; void construir (vector *u, double u1, double u2) { u->x = u1; u->y = u2; } voidmain () { double modulo (vector u) vector u; { construir (&u, 4, -2); double m; printf (”%lf”, modulo (u)); m = sqrt (u.x*u.x + u.y*u.y); } return m; }
A.Ortigosa POO - EPS - UAM 13

TAD: ejemplo de extensibilidad
... double producto (vector u, vector v) { return u.x * v.x + u.y * v.y; } void main () { vector u, v; construir (&u, 4, -2); construir (&v, 1, 5); printf (”%lf”, producto (u, v)); }A.Ortigosa

POO - EPS - UAM

14

7

TAD: ventajas
 Conceptos del dominio reflejados en el código.  Encapsulamiento: ocultación de la complejidad interna y detalles de los datos y las operaciones.  Especificación vs. implementación: utilización del tipo de datos independiente de su programación interna.  Mayor modularidad: también los datos.  Mayor facilidad de mantenimiento,reutilización.
A.Ortigosa

POO - EPS - UAM

15

Paradigmas de programación
Prog. orientada a objetos

Tipos Abstractos de Datos

• Abstracción • Encapsulamiento • Herencia • Polimorfismo

Programación estructurada

Programación imperativa

A.Ortigosa

POO - EPS - UAM

16

8

Programación orientada a objetos
POO = soporte sintáctico para los tipos abstractos de datos +...
tracking img