Você está na página 1de 33

Programacin Orientada a Objetos

Tema 1

Introduccin a la Programacin Orientada a Objetos

BLP (08/09)

Contenidos


Introduccin a la POO
  

Bases de la Programacin Evolucin de los lenguajes de programacin Elementos de la Programacin Orientada a Objetos

BLP (08/09)

Contenidos


Introduccin a la POO
  

Bases de la Programacin Evolucin de los lenguajes de programacin Elementos de la Programacin Orientada a Objetos

BLP (08/09)

Introduccin a la POO


Programacin estructurada: Caractersticas


  

Secuencial Imperativa Orientada a procesos  Control de flujo de ejecucin  Subprogramas

Programacin OO: equilibrio entre procesos y datos




Novedades  Concepto de OBJETO (datos + procesos)  Enfoque antropomrfico (orientado al hombre)  Herencia
BLP (08/09)

Contenidos


Introduccin a la POO
  

Bases de la Programacin Evolucin de los lenguajes de programacin Elementos de la Programacin Orientada a Objetos

BLP (08/09)

Bases de la Programacin
   

Abstraccin Encapsulacin Modularidad Jerarqua

BLP (08/09)

Bases de la Programacin


Abstraccin: proceso mental de extraccin de las caractersticas esenciales de algo, ignorando los detalles superfluos Encapsulacin: proceso por el que se ocultan los detalles del soporte de las caractersticas de una abstraccin

BLP (08/09)

Bases de la Programacin


Modularidad: proceso de descomposicin de un sistema en un conjunto de mdulos (piezas) poco acoplados (independientes) y cohesivos (con significado propio) Jerarqua: proceso de estructuracin por el que se produce una organizacin de un conjunto de elementos en grados o niveles de responsabilidad, de incumbencia o de composicin entre otros

BLP (08/09)

Bases de la Programacin


Jerarqua por grado de composicin

BLP (08/09)

Bases de la Programacin


Jerarqua por grado de clasificacin

BLP (08/09)

10

Contenidos


Introduccin a la POO
  

Bases de la Programacin Evolucin de los lenguajes de programacin Elementos de la Programacin Orientada a Objetos

BLP (08/09)

11

Evolucin de los lenguajes de programacin


  

Cdigo Mquina Lenguaje Ensamblador Programacin de alto nivel  Programacin estructurada  Programacin modular  Tipo Abstracto de datos  POO

BLP (08/09)

12

Evolucin de los lenguajes de programacin




Cdigo Mquina
   

Abstraccin: {0,1} Encapsulacin: Nula Modularizacin: Nula Jerarquizacin: Nula

BLP (08/09)

13

Evolucin de los lenguajes de programacin




Lenguaje Ensamblador
   

Abstraccin: Identificadores Encapsulacin: Nula Modularizacin: Macros Jerarquizacin: Nula

BLP (08/09)

14

Evolucin de los lenguajes de programacin




Programacin de alto nivel


  

Abstraccin: Subprograma Encapsulacin: mbito de subprogramas Modularizacin: Estructuras de control de flujo y Subprograma Jerarquizacin: Estructuras de control de flujo y Subprograma

BLP (08/09)

15

Evolucin de los lenguajes de programacin




Tipos Abstractos de Datos (TADs)  Conjunto de valores lcitos y operaciones que operan sobre dichos datos  Tipo definido por el usuario que permite definir mltiples variables de dicho tipo Programacin Orientada a Objetos  Surge a partir de los TADs y del concepto de herencia heredado de IA


La herencia permitir crear jerarquas por grado de clasificacin

BLP (08/09)

16

Evolucin de los lenguajes de programacin




Tipos Abstractos de Datos (TADs)


   

Abstraccin: Total Encapsulacin: Total Modularizacin: Total Jerarquizacin: jerarquas de dependencia jerarquas de composicin

BLP (08/09)

17

Evolucin de los lenguajes de programacin




Programacin Orientada a Objetos


   

Abstraccin: Total Encapsulacin: Total Modularizacin: Total Jerarquizacin: jerarquas de clasificacin

BLP (08/09)

18

Evolucin de los lenguajes de programacin


Abstraccin Encapsulacin Modularizacin Jerarquizacin +Aumento de la Comprensin del Software + Legibilidad

+Facilidad de Mantenimiento

-Costes
BLP (08/09) 19

Evolucin de los lenguajes de programacin




Objetivo
Creacin de Cdigo Coste de Mantenimiento

El objetivo es utilizar la abstraccin, encapsulacin, modularizacin y jerarqua para que el coste de mantenimiento del software no supere un determinado umbral por mucho que aumente el tamao del cdigo.

BLP (08/09)

20

Evolucin de los lenguajes de programacin




Leyes de Lheman y Belady


Ley del Cambio Continuo Un programa que se usa en un mbito del mundo real, necesariamente debe cambiar o convertirse cada vez en menos til Ley de la Complejidad Creciente Debido a que los programas cambian por evolucin, su estructura se convierte en ms compleja a menos que se hagan esfuerzos activos para evitar este fenmeno

BLP (08/09)

21

Contenidos


Introduccin a la POO
  

Bases de la Programacin Evolucin de los lenguajes de programacin Elementos de la Programacin Orientada a Objetos

BLP (08/09)

22

Elementos de la Programacin OO
   

Clases y Objetos Mensajes y Mtodos Atributos y Estado Herencia y Polimorfismo

BLP (08/09)

23

Elementos de la Programacin OO


Clase: descripcin de los datos y de las operaciones que describen el comportamiento de un cierto conjunto de elementos homogneos
Descripcin de una abstraccin que sirve de molde a infinitos objetos de ciertas caractersticas para crear en el dominio de la computadora un reflejo del mundo real
Ejemplo: clase Fraccion - datos: numerador, denominador; - operaciones: simplificar, sumarse con otra, invertirse,

BLP (08/09)

24

Elementos de la Programacin OO


Objeto: ejemplar concreto (instancia) de una clase que responde al comportamiento, definido por las operaciones de la clase a la que pertenece, adecundose al estado de sus datos particulares
Ejemplo de objetos de la clase Fraccion: - relacin de gastos e ingresos, 2/3, 5/8,

BLP (08/09)

25

Elementos de la Programacin OO


Las clases asumen el principio de encapsulacin




Vista pblica o interfaz: operaciones a las que responden los objetos de la clase (comportamiento) Vista privada o implementacin: datos y manipulaciones sobre esos datos

BLP (08/09)

26

Elementos de la Programacin OO


Mtodo: definicin de una operacin de una clase Mensaje: invocacin de una operacin sobre un objeto  Un objeto es el agente activo que lanza el mensaje y otro objeto es el agente pasivo que recibe el mensaje. El objeto receptor del mensaje debe contemplar dicha operacin entre las definidas en su clase.

BLP (08/09)

27

Elementos de la Programacin OO


Atributo: cada uno de los datos de una clase  Ejemplo: numerador y denominador de la clase Fraccion Estado: conjunto de los valores de los atributos que tiene un objeto, por pertenecer a una clase, en un instante dado  Ejemplo: numerador 26 y denominador 100 en una relacin de gastos e ingresos

BLP (08/09)

28

Elementos de la Programacin OO


Definiciones ms precisas con OO  Clase: definicin de los atributos y mtodos que describen el comportamiento de un cierto conjunto de elementos homogneos


Objeto: ejemplar concreto de una clase que responde al comportamiento, definido por los mtodos de la clase a la que pertenece, adecundose al estado de los atributos de la clase a la que pertenece

BLP (08/09)

29

Elementos de la Programacin OO


Clases
Nombre

Atributos Mtodos


Objetos

Clase del Objeto Estado

Notacin UML (Unified Modeling Language). http://www.uml.org/


BLP (08/09) 30

Elementos de la Programacin OO


Herencia y Polimorfismo


Postergados a sus respectivos temas (slo veremos herencia) Permiten un mayor grado de
   

Abstraccin Encapsulacin Modularidad Jerarqua

BLP (08/09)

31

Elementos de la Programacin OO
Programacin Orientada a Objetos Clase Programacin Estructurada Tipo Abstracto de Datos (TAD) (definicin de registro+subprogramas) Valor del TAD (registro concreto con valores) Subprograma Llamada a subprograma Campo de registro Conjunto de valores de los campos de un registro concreto
BLP (08/09) 32

Objeto Mtodo Mensaje Atributo Estado

Elementos de la Programacin OO


Conceptos bsicos
 

Universo de objetos (todo es un objeto) Los objetos colaboran y se comunican pasndose mensajes Cada objeto tiene un estado determinado en un momento dado Un objeto es un caso particular (instancia) de una clase Una clase define el comportamiento de un conjunto de objetos

BLP (08/09)

33

Você também pode gostar