Вы находитесь на странице: 1из 40

Introduccin a la

programacin orientada por


objeto
Ing. Mg. Andrs Morales

Tpicos del Da

Introduccin al diseo orientado por


objeto
Qu es la orientacin por objeto
Diferencias entre la programacin
convencional y la programacin
orientada por objetos
Conceptos bsicos

Introduccin al diseo
orientado por objetos

El diseo orientado por objetos (DOO),


como otras metodologa de diseos
orientados a la informacin crean una
representacin
del
dominio
del
problema en el mundo real y lo
transforma en un dominio de soluciones
que es el software.

Introduccin al diseo POO

A diferencia de otros mtodos, el DOO da


como resultado un diseo el cual
interconexiona los objetos de datos
(elementos de datos) y las operaciones de
procesamiento, de forma tal que encapsula la
informacin y el procesamiento.

Este encapsulamiento es el paradigma


fundamental de la orientacin por objetos.

Modelo de una tarea tpica de


programacin
Espacio del mundo real
Resultado
Algortmo del
mundo real

Objetos reales
y actividades

Problema
Modelo

Objeto reales
(cambio de estado)

Espacio del programa


Representar mediante
abstraccin
Programador

Usuario
Interpreta

Programa

Objetos abstractos y
operaciones en lenguaje de
programacin

Algortmo

Datos e
informacin
Resultado

Diseo Orientado por objeto


La naturaleza nica del diseo orientado por objetos
se debe a su habilidad para construir basndose en
tres conceptos importantes del diseo del software:
Abstraccin.
Ocultamiento de la informacin.
Modularidad.

Qu es la orientacin por
objeto

El trmino "orientacin por objeto" significa


que organizaremos el software como una
coleccin de objetos discretos que incorporan
tanto estructuras de datos como
procedimientos.
Esto contrasta con la programacin
convencional, en la cual las estructura de
datos y el comportamiento estn solo
aproximadamente conectados.

Qu es el desarrollo Orientado
por Objetos

El desarrollo orientado por objetos es


una nueva forma de pensar acerca del
software basado sobre abstracciones
que existen en el mundo real.
En este contexto, el desarrollo es
referido a la primera parte del ciclo de
vida del software: anlisis, diseo e
implantacin.

Diferencia entre la
programacin convencional
Dato 2

Dato 1

Pro ce d imie nto


2

Dato 4

Pro ce d imie nto


1

Dato 3

Pro ce d imie nto


3

Fig. 2 Sistema convencional


M1
INVOCA 4

M4

DATO 2 M2
M3

M1
M4

INVOCA 1

DATO 1 M2
M3
M1
M4

INVOCA 3

DATO 3 M2
M3

Fig.3 Sistema Orientado por objeto

Constructos bsicos de la
programacin POO

Objeto.
Identidad del objeto.
Clase.
Mtodos.
Polimorfismo.
Herencia
Encadenamiento dinmico.

Conceptos bsicos sobre la


Orientacin por Objetos

Qu es un Objeto ?
Un objeto es una entidad fsica o
abstracta que tiene un comportamiento
antes ciertos estmulos, tanto externos
como de otros objetos especficos que
se encuentran dentro del sistema.

Conceptos bsicos de la POO

Qu se puede considerar como objeto ?


-Persona
-Equipo Hardware
-Materiales
-Informacin
-Software
-Procesos
-Procedimientos

Conceptos bsicos de POO

Objeto Fsico:Horno
Operaciones asociadas:
Encendido/Apagado/Cargado/Descargad
o.
Objeto Abstracto:Cola
Operaciones:
Agregar/Eliminar/Verificar vaca/
Verificar si llena/Primero cola/Siguiente
cola/

Conceptos bsicos de POO

Identidad de un objeto
Cada objeto tiene su propia identidad
que lo distingue de los dems objetos.
En otras palabras, dos objetos distintos
no son iguales aunque todos los valores
de sus atributos sean idnticos.

Conceptos bsico de la POO


Componentes para la construccin de
Software de un objeto.

Cuando un objeto se transforma en una


realizacin de software, consta de una
interfaz, una estructura de datos privada y
unos procesos llamados operaciones o
mtodos que son los nicos que pueden
transformar legtimamente la estructura de
datos.

Conceptos bsicos de la POO


Diccionario

( )
Archivo Indizado

Objeto del mundo


real

Aadir palabra
Suprimir palabra
Encontrar palabra
.
.
.

Interfase
Estructura de dato

Operaciones

Representacin abstracta de un objeto

Conceptos bsicos de la POO

Tipos de objetos

1.Objetos reales
1.1 Objeto fsico: Son objetos extremamente
perceptibles ejemplo(vista, olfato, gusto,
odo)
1.2 Objetos psquicos: Son internamente
perceptibles. Ejemplo: dolor, sentimiento, imgenes.
2.Objeto ideales no son perceptibles.
2.1 Relaciones o asociaciones entre objetos
2.2 Pensamientos
2.3 Matemticos, lgicos, etc.

Conceptos bsicos de la POO

Clasificacin:
El proceso de clasificacin es el enfoque
central de la orientacin por objeto y
concierne a la agrupacin de objetos con
propiedades (estructuras de datos o
atributos) y comportamiento (operaciones)
similares dentro de una clase.
Una clase es la abstraccin que describe
propiedades importantes para una aplicacin.

Conceptos Bsicos de la POO

Los objetos que pertenecen a una clase se describen


colectivamente por la definicin de una clase, esto
significa que en lugar de describir los objetos
individuales la orientacin por objeto concentra en un
patrn tanto el estado como el comportamiento que
es comn a todos los objetos de la clase.

Esta clase de estructura que abarca tantos


propiedades como comportamiento es la unidad
natural de la abstraccin en los sistemas de
orientacin por objeto y puede ser utilizardos para
modelar tanto entidades objetos como relaciones
entre los objetos.

Conceptos Bsicos de la POO

Cada clase describe una posibilidad infinita de un


conjunto individual de objetos. Cada objeto que
pertenezca a una clase es llamado instancia de la
clase.

La instanciacin es lo inverso a la clasificacin y


concierne a la generacin de los distintos objetos de
una clase. La distincin entre una clase y sus
instancias es similar a la distincin entre una
definicin de tipo y la declaracin de una variable en
un lenguaje de programacin convencional. Sin
embargo, la mayora de los sistemas orientados por
objeto crean dinmicamente instancias por envo de
mensajes "Nuevo" y "Crear" una clase.

Conceptos bsicos de la POO

Type
Tipo_opcion(Piscina,Sauna,Tennis,Golf);
Class Hotel
Propiedades
Nombre: Cadena;
Direccin: Cadena;
Dueo: Compaia;
Director: Persona;
Facilidades: Set (Tipos_opcion):
Operaciones
Create ();
Reserva_hab(Habitacin:integer;
Huesped:Person,
Fecha_llegada,
Fecha_partida:Tipo_fecha)
end Hotel.

Conceptos bsicos de la POO

Class Compaa
Propiedades
Nombre, Oficina_central, Telfono: Cadena;
.........
Operaciones
..........
end Compaia.
Class Persona
Propiedades
Nombre, Direccin, Telfono: Cadena;
.........
Operaciones
..........
end Persona.

Conceptos Bsicos de la POO


I nstancia Compaa

I nstancia de Hotel
Nombr e

Direccin

Nombr e

Turisol

Oficina_general

M r ida

Telfono

22454

La Pedregosa

A v. Los procer es

Dueo

I nstancia de Compaia

Gerente

I nstancia de Persona

Facilidades

Piscina, Sauna, Golf

I nstancia Per sona

Fig. 5 Ejemplo de la clase Hotel

Nombr e

Pedr o perez

Direccin

Calle 22 entre
A v. 2 y 3

Conceptos bsicos de la POO


Atributos

Aplicando
abstraccin

Tamao del marco


Tamao de la rueda
Material
Engranaje
Material
Operaciones
Pasos
Reparar
Cambio de posicin

Conceptos bsicos de la POO


Clase polgono
Objetos polgonos
Aplicando
abstraccin

Atributos
Vrtices
Color del borde
Color de relleno
Operaciones
Dibujar
Borrar
Mover

Conceptos bsicos de la POO


Notacin para representar una clase.
Una clase se representa por una caja la cual puede
tener 3 regiones.
La primera regin contiene el nombre de la clase.

La segunda regin contiene la lista de atributos,


cada nombre de atributo puede estar seguido por
detalles opcionales tales como tipo de atributo y
valores por defectos.
La tercera regin contiene los nombres de las
operaciones. Cada nombre de operacin puede ser
seguido por detalles opcionales tales como listas de
argumentos y tipos de resultados. Los atributos y
operaciones puede o no mostrarse; esto depende

Conceptos bsicos de la POO

Operaciones mtodos
Una operacin es una funcin o
transformacin que puede ser aplicada sobre
los objetos en una clase. Por ejemplo: abrir,
cerrar, ocultar, desplegar, son operaciones
sobre una clase ventana.
Cada operacin tiene un objeto destino
con
un
argumento
implcito.
El
comportamiento de la operacin depende de
la clase destino.

Conceptos bsicos de la POO

Polimorfismo
Polimorfismo significa que la misma
operacin
puede
comportarse
diferentemente sobre distintas clases.
Por ejemplo, la operacin "mover"
ejemplo
puede
comportarse
diferentemente sobre una clase llamada
Ventana
y
una
clase
llamada
Piezas_ajedrez.

Conceptos bsicos de la POO


Clasificacin de Polimorfismo

Universal

Paramtrico
Inclusin

Polimorfismo
Ad Hoc

Overloading
Coercin

Conceptos bsicos de la POO

Polimorfismo Paramtrico: Se obtiene


cuando una funcin trabaja uniformemente
sobre un rango de tipos; esos tipos
normalmente exhiben una estructura comn
y puede comportarse de manera distinta para
cada tipo.
Polimorfismo
de
Inclusin:
Es
un
polimorfismo utilizado por modelos de
subtipos y herencia.
En este tipo de
polimorfismo un objeto puede pertenecer a
clases diferentes que no necesariamente son
disjuntas.

Conceptos bsicos de la POO

Polimorfismo por Overloading: En este


caso el mismo nombre se utiliza para
denotar diferentes funciones, y el
contexto se utiliza para decidir cual
funcin se debera ejecutar para una
invocacin particular del nombre.

Conceptos bsicos de la POO

Polimorfismo por Coercin: Es una operacin


semntica que convierte argumentos a los
tipos esperado por una funcin, en una
situacin que de otra forma resultara en un
tipo de error. La coercin puede estar dada
estticamente,
insertndose
automticamente
entre
argumentos
y
funciones a tiempo de compilacin o pueden
tener que determinarse dinmicamente, con
pruebas a tiempos de ejecucin sobre los
argumentos.

Conceptos bsicos de la POO

Herencia
La herencia consiste en el compartir atributos
y mtodos entre clases basndose en una
relacin jerrquica.
Una clase puede definirse ampliamente y
redefinirse sucesivamente en subclases ms
refinadas.
Cada subclase que se incorpora, hereda
todas las propiedades de su superclase y
adiciona sus propias y nicas propiedades.

Conceptos bsicos de la POO


Elementos capaces de ser heredados
Herencia Estructural.
Herencia de Comportamiento ( herencia
de mtodos).

Conceptos bsicos de la POO


Nombre
Edad
Direccin
Sexo

Persona

Cargo
Empleado

Estudiante
Denominacin
Profesin
Director

Secretara

Ao de experiencia
Dependencia
Idiomas

Dependencia

Carrera

Conceptos bsicos de la POO

Tipos de Herencia:

Simple.

Mltiple

Conceptos bsicos de la POO


Nombre
Edad
Direccin
Sexo

Persona

Cargo
Empleado

Estudiante
Denominacin
Profesin
Director

Secretara

Ao de experiencia
Dependencia
Idiomas

Dependencia

Carrera

Conceptos bsicos de la POO

Definicin de Herencia Mltiple: Una


clase puede heredar rasgos de ms de
una superclase. Una clase con ms de
una superclase es llamada clase junta.
Un rasgo de una clase ancestro que se
encuentra ms de una vez a lo largo de
una ruta solo se hereda una vez.

Conceptos bsicos de la POO


Vehculos

Vehculos Terrestres

Carros

Vehculos Acuticos

Vehculos
Anfibios

Bote

Conceptos bsicos de la POO


Encadenamiento Dinmico:
Una de las ventajas que promueve el estilo de
programacin orientada por objeto es la
caracterstica del encadenamiento dinmico,
tambin llamado encadenamiento tardo. En
efecto, no se tendran sistemas orientados
por objeto sin esa poderosa capacidad.

Simplemente, la declaracin
encadenamiento dinmico significa que el
sistema encadenar una rutina a un selector
para un mtodo particular que est
implantado sobre un objeto clase.

Вам также может понравиться