Vous êtes sur la page 1sur 21

Programacin II

Introduccin a la
Orientacin a
Objetos

Objetivo
Describir el Paradigma de Orientacin
a Objetos incluyendo los conceptos
relacionados al anlisis, diseo y
programacin

Prerrequisitos
Poseer los conocimientos de:

Fundamentos de Programacin

Temas a Tratar
Paradigmas de Programacin
Clases y Objetos

Paradigmas de
Programacin
Hay para todos los gustos

Estructurados (C, Pascal, Basic, etc.)


Funcionales (CAML)
Declarativos (Prolog)
Orientados a Objetos (C#, VB.NET, Smalltalk,
Java)
Orientados a Aspectos
Hbridos (Lisp, Visual Basic)
Incomprensibles....

Cada enfoque tiene sus ventajas y


desventajas
Cada uno es ms apropiado para ciertas

Programacin Tradicional
Un programa se desarrolla en base a
procedimientos.
Cada procedimiento es una caja
negra
que
realiza
una
tarea
especfica.
Los procedimientos no tienen control
sobre
los
datos,
porque
son
generalmente globales o se pasan
en
los
parmetros
de
los
procedimientos.

Programacin Tradicional
Procedimiento 1

Procedimiento 2

Procedimiento 3

D
A
T
O
S

El mundo color de Objetos


Todo el mundo est compuesto de
entidades que se relacionan e
interactan entre si
Qu es un Objeto?

Todo es un Objeto ~?!

Es lo mismo de siempre con otro


nombre?

Pensar en Objetos .

No es el ltimo grito de la moda

Programacin Orientada a
Objetos

Los programas se dividen en


entidades independientes que
contienen
datos
(sus
caractersticas) y mtodos que
operan sobre esos datos (su
comportamiento).

Programacin Orientada a
Objetos
DATOS

METODOS

Mensaje

Mensaje

El mundo color de Objetos


Por qu Orientacin a Objetos (OO)?

Se parece ms al mundo real


Permite representar modelos complejos
Muy apropiada para aplicaciones de
negocios
Las empresas ahora s aceptan la OO
Las nuevas plataformas de desarrollo la
han adoptado (Java / .NET)

Temas a Tratar
Paradigmas de Programacin
Clases y Objetos

Qu es un Objeto?
Informalmente, un objeto representa
una entidad del mundo real
Entidades Fsicas

(Ej.: Vehculo, Casa, Producto)

Entidades Conceptuales

(Ej.: Proceso Qumico, Transaccin


Bancaria)

Entidades de Software

(Ej.: Lista Enlazada, Interfaz Grfica)

Qu es un Objeto?
Definicin Formal (Rumbaugh):

Un objeto es un concepto, abstraccin


o cosa con un significado y lmites
claros en el problema en cuestin

Un objeto posee (Booch):

Estado
Comportamiento
Identidad

Un objeto posee Estado


Lo que el objeto sabe
El estado de un objeto es una de las
posibles condiciones en que el objeto
puede existir
El estado normalmente cambia en el
transcurso del tiempo
El estado de un objeto es
implementado por un conjunto de
propiedades (atributos), adems de
las conexiones que puede tener con
otros objetos

Un objeto posee
Comportamiento

Lo que el objeto puede hacer


El comportamiento de un objeto
determina cmo ste acta y
reacciona frente a las peticiones de
otros objetos
Es modelado por un conjunto de
mensajes a los que el objeto puede
responder (operaciones que puede
realizar)
Se implementa mediante mtodos

Un objeto posee Identidad


Cada objeto tiene una identidad
nica, incluso si su estado es
idntico al de otro objeto

Qu es una Clase?
Una clase es una descripcin de un
grupo de objetos con:

Propiedades en comn (atributos)


Comportamiento similar (operaciones)
La misma forma de relacionarse con
otros objetos (relaciones)
Una semntica en comn (significan lo
mismo)

Una clase es una abstraccin que:

Enfatiza las caractersticas relevantes


Suprime otras caractersticas

Clases
La clase es un modelo o plantilla que
define los atributos y operaciones de
un objeto.
La clase es el conjunto de todos los
objetos del mismo tipo.
Es un tipo de dato definido por el
programador formado por mtodos y
datos.

Objetos y Clases
Una clase es una definicin abstracta de
un objeto

Define la estructura y el comportamiento


compartidos por los objetos
Sirve como modelo para la creacin de objetos

Los objetos pueden ser agrupados en


clases
Un objeto es una instancia de una clase

Ejemplo de una Clase


Clase: Curso
Estado (Atributos)

Nombre
Ubicacin
Das Ofrecidos
Horario de Inicio
Horario de Trmino

Comportamiento (Mtodos)

Agregar un Alumno
Borrar un Alumno
Entregar un Listado del Curso
Determinar si est Completo