Está en la página 1de 12

Paradigmas de Programacin

Orientacin a Objetos

BREVE HISTORIA DE LA OO

EVOLUCION DE LOS TIPOS ABSTRACTOS DE DATOS


(ADT)

SIMULACIN: PRIMEROS CONCEPTOS

BREVE HISTORIA DE LA OO

Origen de los conceptos

Ole-Johan Dahl, Kristen Nygaard


Universidad de Oslo, Noruega
Simula I y Simula 67
1962 a 1967
clases, objetos, instancias, herencia, polimorfismo
Simulaciones de naves; fueron confundidos por la
explosin combinatoria de cmo las diversas cualidades
de diversas naves podan afectar unas a las otras. La
idea fue agrupar los diversos tipos de naves en diversas
clases de objetos, siendo responsable cada clase de
definir sus propios datos y su comportamiento
3

BREVE HISTORIA DE LA OO

Origen de los conceptos


Class Rectangle (Width, Height); Real Width, Height;
Begin
Real Area, Perimeter;;
Procedure Update;
Begin
Area := Width * Height;
Perimeter := 2*(Width + Height)
End of Update;
Boolean Procedure IsSquare; IsSquare := Width=Height;
Update;
OutText("Rectangle created: ");
OutFix(Width,2,6);
OutFix(Height,2,6);
OutImage
End of Rectangle;

R :- New Rectangle(50, 40);

BREVE HISTORIA DE LA OO

Origen del Paradigma


Dcada del 70, en el instituto Xerox PARC (Palo
Alto Research Center), donde se acu el trmino
Orientacin a Objetos y se cre el primer lenguaje
puro diseado completamente bajo este
paradigma: Smalltalk.
Paso de mensajes, mtodos, encapsulamiento.
Popularizado en la dcada del 90

OO: CONCEPTOS BSICOS

Objeto::ente con comportamiento, estado Interno e identidad.

Comportamiento: forma en la cul un objeto interacta con su entorno. El


comportamiento de un objeto est definido a travs de un conjunto de
responsabilidades, cada una de las cules se compone a su vez, de un
conjunto de mensajes.

Responsabilidad: es la asignacin de la ejecucin de ciertos procesos o


tareas a un objeto, y su capacidad de realizarlos.

Mensaje: peticin que se le hace a un objeto para que realice una accin (de
la cul es responsable).

Mtodo: procedimiento por el cul es satisfecho un mensaje.


6

OO: CONCEPTOS BSICOS

Estado interno: es un grupo de valores que guarda un objeto en


componentes individuales denominados Atributos.

Atributo: se denomina as a cada campo de informacin almacenado en el


objeto.

Encapsulamiento: tcnica de Ocultamiento de la Informacin, mediante la


cul se agrupan datos y algoritmos relacionados, de manera tal que slo se
pueden acceder a los mismos mediante una interfaz (conjunto de mensajes a
los que responde).

Composicin: relacin entre dos objetos donde uno forma parte del otro.

OO: CONCEPTOS BSICOS


Encapsulamiento

Objeto

(cpsula)

Mtodos
(algoritmos)

Atributos
(datos)

Mensajes
(interfaz)

Interaccin
con otros
objetos

OO: CONCEPTOS BSICOS

Ejemplo:
Aplicacin
(se encarga de la interfaz con el usuario)
contiene

Administrador de Currculums
(capa de negocio: se encarga de los procesos especficos para la solucin del problema)

contiene

contiene

Lista de Docentes

Lista de Actividades

(capa de datos: mantiene los datos de docentes)

(capa de datos: mantiene los datos de actividades)

OO: CONCEPTOS BSICOS

Emisor: el objeto que enva un mensaje.

Receptor el objeto que recibe el mensaje.

Clase: es una descripcin de una Categora de Objetos que poseen los mismos
atributos y el mismo comportamiento.

Ejemplar o Instancia (de una clase): se denomina as a un objeto de una clase


determinada.

Polimorfismo: capacidad de un mensaje de manejar distintos tipos o cantidades de


parmetros. Hay dos tipos bsicos de polimorfismo: paramtrico y sobrecarga.

Herencia: mecanismo de la OO mediante el cul una clase, llamada clase "hija" o


"subclase" adquiere los atributos y el comportamiento de otra clase, llamada clase
"Padre" o "superclase". La Herencia representa la relacin "es-un" entre dos clases.

10

OO: CONCEPTOS BSICOS


DEFINICIN DE CLASES EN OO Pascal
UNIT idUnidad;
INTERFACE
TYPE
idClase1 = OBJECT
idAtributo1:tipoOClase1;
idAtributo2:tipoOClase2;
...
idAtributoN:tipoOClaseN;
PROCEDURE idMensaje1(parametros);
FUNCTION idMensaje2(parametros): tipo;
...
PROCEDURE idMensajeM(parametros);
END;
...
{declaracin de otras clases o tipos}
IMPLEMENTATION
PROCEDURE idClase1.idMensaje1(parametros);
{este es el mtodo correspondiente al mensaje idMensaje1 de la clase idClase1}
declaraciones
BEGIN
{los atributos se acceden en forma directa dentro del mtodo}
END;

11

OO: CONCEPTOS BSICOS


Declaracin de Objetos y uso
VAR
idObjeto1, idObjeto2:idClase1;
...
BEGIN
idObjeto1.idMensaje1(parametros);
...
END;
12

También podría gustarte