You are on page 1of 40

PROGRAMACIN

ORIETADA A
OBJETOS

Introduccin

La programacin orientada a objetos es un enfoque de


programacin de los ms populares y viene teniendo gran
aceptacin en el desarrollo de proyectos de software.

Que es la Programacin Orientada a Objetos


?
Es

un estilo de programacin en que cada


programa es visto como un objeto se forma
por una serie de componentes,
autocontenidos que cooperan para realizar
las acciones de la aplicacin completa.

Origen

Los conceptos de la programacin orientada a objetos


tienen origen en Simula 67, un lenguaje diseado para
hacer simulaciones, creado por Ole-Johan Dahl y Kristen
Nygaard del Centro de Cmputo Noruego en Oslo.

Diferencias con la programacin estructurada

Las principales diferencias entre la programacin estructurada y la


orientada a objetos son:

La programacin orientada a objetos es ms moderna, es


una evolucin de la programacin estructurada

La programacin orientada a objetos se basa en lenguajes


que soportan sintctica y semnticamente la unin entre
los tipos abstractos de datos y sus operaciones (a esta
unin se la suele llamar clase).

La programacin orientada a objetos incorpora en su


entorno de ejecucin mecanismos tales como el
polimorfismo y el envo de mensajes entre objetos.

OBjeto

10

POO

11

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

12

POO

13

Los objetos se pueden Organizar segn su


necesidad
Mamferos
Telfonos
Deportes
Vehculos

:
:
:
:

Perro, Ciervo
Fijo, Celular
Ftbol, Tenis
Automvil, Camin

14

Clase

15

En general, es posible crear una clase a partir de


cualquier objeto que est a nuestro alrededor. Por
ejemplo:
Persona
Automvil
Mascota

16

Instancias-Objetos

17

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

Instancias-Objetos

18

EJEMPLO:
Suponer que existe la clase Vehculo
El auto patente WF-4631 es una instancia de la
clase Vehculo, o sea, un objeto de esa clase
La camioneta patente ZT-9283 es otra instancia
de la clase Vehculo

Atributos

19

Son los datos que caracterizan a los objetos de


una clase y determinan el estado de un objeto

Marca
Ao
Color
Patente, etc.

Mtodos

20

Representan todas aquellas acciones que se


pueden realizar sobre un objeto de cierta clase

En la implementacin, estos mtodos son


segmentos de cdigo en la forma de funciones

La clase Vehculo puede incluir los mtodos:

Encender

Acelerar

Virar

Frenar

Principios de la POO

21

Propiedades, que lo llevan a ser un estilo de


desarrollo que permite crear cdigo re-utilizable

Encapsulamiento
Herencia
Polimorfismo

22

ENCAPSULAMIENTO
Abstraccin de Datos

Encapsulamiento

23

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 objetos accedan a
detalles que NO LES INTERESA
Una vez creada la clase, las funciones usuarias no
requieren conocer los detalles de su implementacin

Encapsulamiento

24

Toda clase tiene un conjunto de atributos y


mtodos asociados a ella

Todos ellos estn encapsulados o contenidos


dentro de la misma clase, de manera que son
miembros de dicha clase

Esos mtodos y atributos pueden ser utilizados por


otras clases slo si la clase que los encapsula les
brinda los permisos necesarios para ello

Encapsulamiento
Atributos de una Cuenta Corriente:
Nmero
Saldo

Mtodos:
Depositar
Girar
Conocer el saldo

25

26

HERENCIA
Organizacin jerrquica

Herencia

27

Compromete una relacin de jerarqua (es-un)

Una clase (derivada) puede heredar de otra


clase (base):

Atributos y

Mtodos

Herencia

28

P e rs o n a
N o m b re
D ir e c c i n
RU T

E m p le a d o

C lie n te

A lu m n o

S u e ld o

C u e n ta

C a rre ra

29

30

31

POLIMORFISMO

Polimorfismo

32

Capacidad que permite a dos clases diferentes


responder de forma distinta a un mismo mensaje

Esto significa que dos clases que tengan un


mtodo con el mismo nombre y que respondan al
mismo tipo de mensaje (es decir, que reciban los
mismo parmetros), ejecutarn acciones distintas

Polimorfismo

33

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

Polimorfismo

34

Ejemplo 2:
Si se tienen las clases Entero y Char, ambas
respondern

de

manera

distinta

al

"Sucesor"
OBJETOS
'A'
3

MENSAJE
Sucesor

RESULTADOS
'B'
4

mensaje

MENSAJES

Mensaje

36

Mecanismo por el cual se solicita una accin


sobre el objeto

Un programa en ejecucin es una coleccin de


objetos que se crean, interactan

La interaccin se basa en mensajes que son


enviados de un objeto a otro, de modo que el
emisor le pide al receptor la ejecucin de un
mtodo

Mensajes

37

Un objeto invoca un mtodo


reaccin al recibir un mensaje

como

La interpretacin del mensaje depender del


receptor
Mdico

Paciente
Mensaje

Recepcionista

Paciente

Mdico

una

MTODOS

Mtodos

39

Un mtodo es una funcin miembro de una clase


Establece el comportamiento del objeto
Opera directamente sobre el objeto que lo
invoc
Recibe, como parmetro implcito, el objeto que
lo invoc

Mtodos

40

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

You might also like