Sie sind auf Seite 1von 56

PROGRAMACIN ORIETADA A OBJETOS

Introduccin
Paradigma:
Ejemplo ilustrativo, enunciado modelo

Programacin imperativa Programacin funcional Programacin lgica

Nuevo Paradigma:
Programacin orientada a objeto (POO).

Programacin Procedimental

Procedimiento 1 D A T O S

Procedimiento 2

Procedimiento 3

Programacin Orientada a Objetos

DATOS Mtodos

DATOS
Mtodos

DATOS
Mtodos

DATOS
Mtodos

POO
Facilita la creacin de software de calidad por sus factores que potencian: El mantenimiento La extensin y

La reutilizacin del software generado bajo este paradigma. La POO se basa en la idea natural de la existencia de un mundo lleno de objetos y que la resolucin del problema se realiza en trminos de objetos.

POO
La visin de Objetos: Mesas Sillas Computadores Autos Cuentas bancarias Partidos de ftbol Perros, etc

POO
Los objetos se pueden Organizar segn su necesidad Mamferos Electrodomsticos Deportes Vehculos : Perros, Gatos : Refrigerador, Microondas : Ftbol, Tenis : Autos, Camiones

METODOLOGA

Modelamiento
La base de esta tecnologa es:
Modelar
con base en Los problemas que se desean resolver

Entidades

Relevantes y tangibles en el problema.

10

Abstraccin

El modelo define una perspectiva abstracta del problema Los datos que son afectados
Las operaciones que se aplican sobre los datos

11

Ejemplo
Para la administracin docente, las entidades que participan son:

Alumnos

Profesores

Administr. Docente
Salas Asignaturas

12

POO
Identificar los objetos importantes

Organizar los objetos en jerarquas


Otorgar atributos relevantes a los objetos,

que describirn las caractersticas de ellos.


Agregar funciones a los objetos para realizar las tareas necesarias

13

Conceptos de la POO
La POO trata de amoldarse al modo de pensar del hombre y no al de la mquina
Conceptos fundamentales que sustentan la POO Clase Objeto Instancia Atributos

Mtodos

14

Clase
Una clase es como un tipo de dato creado por el usuario, que posee campos:

Atributos: Datos, Estado Mtodos: Comportamiento

15

Clase
En general, podemos crear una clase inspirados en cualquier objeto que est a nuestro alrededor, como puede ser:

Persona Auto Mascota

16

Instancias-Objetos
Una Instancia es una ocurrencia de la clase.
Al momento de crear un objeto se produce la instanciacin Un Objeto es una instancia de una Clase especfica.

17

Instancias-Objetos
EJEMPLO: Supongamos que existe una clase Perro.

Mi mascota Sam, es una instancia de esa clase, ie, un objeto de tipo Perro. El perro Jack de mi vecina es una instancia de la misma clase Perro y, en consecuencia, otro objeto del mismo tipo.

18

Atributos
Son aquellas caractersticas que le asociamos a un tipo de objeto (clase) y que darn cuenta del estado del objeto.

Raza Edad Color Nombre del dueo, etc

19

Mtodos
Representan todas aquellas acciones que puede realizar o se pueden llevar a cabo sobre un objeto de una clase. En la implementacin, estos mtodos son segmentos de cdigo similares a los procedimientos y funciones utilizadas en la programacin modular. La clase Perro puede tener los mtodos:

Correr, Comer, Baar Vacunar

20

Principios de la P OO
Propiedades, que lo llevan a ser un estilo de desarrollo que permite crear cdigo re-utilizable

Encapsulamiento Herencia

Polimorfismo

21

ENCAPSULAMIENTO
Abstraccin de Datos

22

Encapsulamiento
Proceso por el que se ocultan las:
Estructuras de Datos Los detalles de la implementacin

Permite considerar a los objetos como "cajas negras", evitando que otros objeto accedan a detalles que NO LES INTERESA. Una vez creada la clase, las funciones usuarias no requieren conocer los detalles de su implementacin.

23

Encapsulamiento
Toda clase tiene una serie de atributos y mtodos asociados a ella.
Todos ellos estn encapsulados o contenidos dentro de la misma clase, de manera que son propiedad de dicha clase. Esos mtodos y atributos pueden ser utilizados por otras clases slo si la clase que los encapsula le brinda los permisos necesarios para ello.

24

Encapsulamiento
Atributos de una Cuenta Corriente: Nmero Cmo se almacenan estos Saldo

datos?

Mtodos:
Depositar Girar

Conocer el saldo

25

HERENCIA
Organizacin jerrquica

26

Herencia
Permite la reutilizacin de cdigo creando nuevas clases a partir de las existentes
(construidas y depuradas)

Un nueva clase se generar agregando atributos y/o cdigo a una clase existente Una clase (clase hija) puede heredar, de otra clase (clase padre):
Atributos y Mtodos

27

Herencia
Persona
Nombre Direccin RUT

Empleado
Sueldo

Cliente
Cuenta

Alumno
Carrera

28

POLIMORFISMO

29

Polimorfismo
Capacidad de que dos clases diferentes respondan de forma distinta a un mismo mensaje. Esto quiere decir que dos clases que tengan un mtodo con el mismo nombre, y que respondan al mismo tipo de mensaje (es decir, que reciba los mismo parmetros), ejecutarn acciones distintas.

30

Ejemplos de polimorfosmo
Ejemplo 1:
Al presionar el acelerador esperamos que aumente la velocidad del auto, independiente de si se tiene un: Motor con carburador Motor con inyeccin electrnica

31

Ejemplos de polimorfosmo
Ejemplo 2:
Si tenemos las clases Persona y Gato, ambas respondern de manera distinta al mensaje "comunicar"
La persona hablar: Objeto Mara El gato maullar: Objeto: Kitty

32

Ejemplos de polimorfosmo
Ejemplo 3: Si tenemos las clases Entero y Char, ambas respondern de manera distinta al mensaje

"Sucesor"
OBJETOS 'A' 3
MENSAJE Sucesor

RESULTADOS 'B' 4

OBJETOS

34

Objetos
En la POO se dice que en un objeto: "se unen datos y procesos". En la programacin estructurada, estaban separados en forma de variables y funciones.

POO
Objeto. Instanciacin de objetos Tiempo de vida de un objeto

Procedural
variable. declaracin de variables. mbito de una variable.

35

Objetos
Cada objeto es responsable de inicializarse y destruirse en forma correcta.
Un objeto consta de:
Atributos

Un tiempo de vida Estado Comportamiento

Mtodos

36

Tiempo de vida de un objeto


La duracin de un objeto en un programa siempre est limitada en el tiempo. La mayora de los objetos slo existen durante una parte de la ejecucin del programa. Los objetos son creados mediante mecanismo denominado instanciacin, un

Cuando dejan de existir se dice que son

destruidos.

37

Estado de un objeto
Queda definido por sus atributos.
Con l se definen las propiedades del objeto, y el estado en que se encuentra en un momento determinado de su existencia.

38

Comportamiento de un objeto

Todo objeto debe de presentar una interfaz, interfaz queda definida por sus mtodos, para que el resto de objetos, que forman parte del programa, puedan interactuar con l. Esta

CLASES

40

Clases
Las clases son abstracciones que representan a un conjunto de objetos con un:
Comportamiento e Interfaz comn.

Es la implementacin de un tipo de dato (considerando los objetos como instancias de las clases)"

41

Clases
Permite representar y definir colecciones de objetos. Proporcionan una plantilla para la creacin de objetos.. Los elementos que componen la clase son
Clase:

Atributos Mtodos

Representan el estado de un objeto (Variables de ejemplar) Representan el comportamiento de un objeto. (Funciones miembro).

42

Ejemplo de instancia de objetos


Clase: Cuenta corriente

Variables Miembro:
Nmero Nombre Saldo

Funciones Miembros:
Depositar Girar Consulta del saldo

43

Ejemplo de instancia de objetos


Clase: Cuenta corriente

Instanciacin: Cuenta Corriente A,B


Objeto: A
Num: 1234

Objeto: B
Num: 9876

Nombre: Juan
Saldo: 350.000

Nombre: Mara
Saldo: 450.600

Mtodos Depositar Girar Consultar

Mtodos Depositar Girar Consultar

MENSAJES

45

Mensaje
Mecanismo por el cual se solicita una accin sobre el objeto.
Un programa en ejecucin es una coleccin de objetos, donde los objetos que interactan son creados y destrudos. La interaccin se basa en mensajes que son mandados de un objeto a otro, donde el emisor le pide al receptor que aplique un mtodo a s mismo.

46

Mensajes
Un objeto invoca un mtodo como una reaccin al recibir un mensaje
Paco (cliente)
Mensaje

Perico (pajarero)

La interpretacin del mensaje depender del receptor


Peca (secretaria)

Paco (cliente)

Perico (pajarero)

METODOS

48

Mtodos
Funcin miembro de una clase.
Establece el comportamiento del objeto Opera directamente sobre el objeto que lo invoc. Recibe, como parmetro implcito objeto que lo invoc. el

49

Mtodos
Si el mtodo requiere otros objetos de la clase, stos debern ser pasados como parmetros explcitos y el mtodo slo podr acceder en forma indirecta a estos objetos. Ejemplos:
Depositar Girar Consultar

RESUMEN

51

Mensajes y mtodos
Un objeto (agente emisor) enva un mensaje a otro objeto (agente receptor). El mensaje tiene codificada la peticin de una accin.

El mensaje incluye la informacin (argumentos) necesaria para satisfacer la peticin.


Si el receptor acepta el mensaje, acepta la responsabilidad de ejecutar la accin indicada. En respuesta a un mensaje, el receptor ejecuta un mtodo para satisfacer la peticin

52

Clases y ejemplares
Todos los objetos son ejemplares de una clase. La clase del receptor determina el mtodo que se activa como respuesta a un mensaje. Todos los objetos de una clase usan el mismo mtodo en respuesta a mensajes similares

53

Clases y mtodos
Los objetos son ejemplos de TADs. Un TAD tiene dos caras: una exterior, la que ve el usuario, y una interior, la que slo ve el programador. El usuario ve nada ms que un conjunto de operaciones que definen el comportamiento de la abstraccin. El programador ve las variables de datos que se usan para mantener el estado interno del objeto. Un ejemplar es un representante de una clase.

54

Clases y mtodos
Una variable de ejemplar es una variable interna mantenida por un ejemplar. Cada ejemplar tiene su propia coleccin de variables de ejemplar. Las variables de ejemplar slo son modificables por los mtodos definidos en la clase. Un objeto es la combinacin de estado y

comportamiento.

55

Clases y mtodos
El estado lo determinan las variables de ejemplar. El comportamiento lo determinan los mtodos. Desde el exterior, los clientes slo pueden ver el comportamiento de los objetos. Desde el interior, los mtodos proporcionan el comportamiento apropiado mediante las modificaciones del estado.

56

Clases y mtodos
La interfaz describe la forma en que un objeto se conecta con el mundo. La implementacin describe cmo se logra la responsabilidad prometida en la interfaz. Una clase se puede concebir como un registro con dos variedades de campos: datos y procedimientos. Los datos constituyen las variables de ejemplar. Los procedimientos constituyen los mtodos.

Das könnte Ihnen auch gefallen