Está en la página 1de 10

Programacin Orientada a Objetos

Conceptos Fundamentales

Paradigmas de programacin
Prog. orientada a objetos

Tipos Abstractos de Datos

Programacin estructurada

Programacin imperativa
A.Ortigosa POO - EPS - UAM 2

Paradigmas de programacin
Prog. orientada a objetos

Tipos Abstractos de Datos

Comandos E. de D. simples

Programacin estructurada

Programacin imperativa

A.Ortigosa

POO - EPS - UAM

Paradigmas de programacin
Prog. orientada a objetos

Abstraccin de Operaciones
Tipos Abstractos de Datos

Programacin estructurada

Mdulos: Procedimientos Funciones Bloques

Programacin imperativa

A.Ortigosa

POO - EPS - UAM

Programacin estructurada: abstraccin de operaciones


Entrada Entrada

arg1

arg1

arg2

arg3

Salida
A.Ortigosa POO - EPS - UAM

Salida

Programacin estructurada: estructura de un mdulo


Interfaz

Datos de entrada Datos de salida Descripcin funcionalidad

Qu hace?

Implementacin

Datos locales Secuencia de instrucciones


POO - EPS - UAM 6

A.Ortigosa

Programacin estructurada: estructura de un mdulo


Interfaz

Datos de entrada Datos de salida Descripcin funcionalidad

Qu hace?

Implementacin

Datos locales Secuencia de instrucciones


POO - EPS - UAM 7

A.Ortigosa

Programacin 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

Programacin estructurada: ventajas


Facilita el desarrollo

Se evita la repeticin del trabajo Trabajo de programacin dividido en mdulos independientes Diseo top-down: descomposicin en subproblemas Claridad del cdigo Independencia de los mdulos

Facilita el mantenimiento

Favorece la reutilizacin

A.Ortigosa

POO - EPS - UAM

Paradigmas de programacin
Prog. orientada a objetos

Tipos Abstractos de Datos

Abstraccin Datos + Abstraccin Operaciones

Programacin estructurada

Programacin imperativa

A.Ortigosa

POO - EPS - UAM

10

TAD: Abstraccin de datos


c a b x y z

A.Ortigosa

POO - EPS - UAM

11

TAD
Un TAD consiste en:

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

A.Ortigosa

POO - EPS - UAM

12

TAD: ejemplo en C
struct vector { double x; double y; }; void construir (vector *u, double u1, double u2) { u->x = u1; u->y = u2; } void main () { 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

TAD: ventajas
Conceptos del dominio reflejados en el cdigo. Encapsulamiento: ocultacin de la complejidad interna y detalles de los datos y las operaciones. Especificacin vs. implementacin: utilizacin del tipo de datos independiente de su programacin interna. Mayor modularidad: tambin los datos. Mayor facilidad de mantenimiento, reutilizacin.
A.Ortigosa

POO - EPS - UAM

15

Paradigmas de programacin
Prog. orientada a objetos

Tipos Abstractos de Datos

Abstraccin Encapsulamiento Herencia Polimorfismo

Programacin estructurada

Programacin imperativa

A.Ortigosa

POO - EPS - UAM

16

Programacin orientada a objetos


POO = soporte sintctico para los tipos abstractos de datos + prestaciones asociadas a las jerarquas de clases + cambio de enfoque
A.Ortigosa POO - EPS - UAM 17

POO: Cambio de enfoque


Orientacin a Datos / Funciones:

nfasis en la transformacin de datos. Las funciones y los datos son gestionados como entidades separadas. Difcil de entender y modificar. Normalmente las funciones dependen de la estructura de los datos F

A.Ortigosa

POO - EPS - UAM

18

POO: Cambio de enfoque


Orientacin a Objetos:

nfasis en la abstraccin de datos. Las funciones y los datos son encapsulados en entidades compactas. Facilita el mantenimiento a travs de especializacin. Mejor traduccin de entidades del dominio

Datos Locales Operaciones

A.Ortigosa

POO - EPS - UAM

19

POO: Cambio de enfoque


Aplicacin: compuesta de objetos que se comunican para lograr un objetivo

A.Ortigosa

POO - EPS - UAM

20

10

También podría gustarte