Vous êtes sur la page 1sur 15

Introduccin a Teora de OOP

Curso ABAP Deloitte

Historia
OOP (Kristen Nygaard, Ole-Johan Dahl) Primer lenguaje OOP -> Simula Smalltalk -> Segundo lenguaje OOP. Alan Kay -> Padre del Smalltalk. Xerox PARC -> ***** C++ -> Unix, Windows, MacOX, ABAP OO, Java, etc.

Clases y Objetos
Qu es una Clase: Definicin abstracta de una entidad o cosa (atributos, comportamiento, propiedades, etc.)

Qu es un Objeto: Es la representacin concreta de una Clase.

Paradigmas de la OOP
Abstraccin: Denota las caractersticas y atributos que definen un objeto (comunicarse, informar, cambiar su estado, realizar una accin, etc.). Polimorfismo: Capacidad de responder a un mismo mtodo y obtener respuestas diferentes y/o la mutabilidad del objeto en funcin de sus atributos o caractersticas. Herencia: Concepto de jerarqua en el que clases inferiores pueden heredar las caractersticas de una (o ms) clase(s) superior(es) a la(s) que pertenece. --En ABAP solo existe herencia simple--. Encapsulacin (hay 2 puntos de vista):
a) Reunir todos los elementos que pueden considerarse pertenecientes a una misma entidad, al mismo nivel de abstraccin. b) Ocultar los datos, mtodos y atributos que le pertenecen (concepto de Caja Negra).

Abstraccin

Polimorfismo 1/2
Genera Reporte

Objeto A
Calcula Impuesto

1,500.00

Genera Reporte

Objeto B
Calcula Impuesto

2,000.00

Polimorfismo 2/2
Clase Figura Geomtrica

Objeto Cuadrado

Objeto Circular

Objeto Triangular

Herencia

Simple (ABAP)

Mltiple (No soportado por ABAP)

Encapsulamiento

Ejemplo de Clase
Clase de Vehculo

Atributos

Marca Modelo Color Ao Puertas Motor RIM Etc.

Acciones

Arrancar Motor Detener Motor Frenar Girar Velocidad Marcha Adelante Marcha Atrs Abrir Cristales Etc.

Ejemplo de Clase
Atributos (las caractersticas)

Alumno .. Nmero de Alumno Nombre Fecha de Nacimiento Fecha de Ingreso Estatus Dame su Estatus Dame el Grado Actual Dar de Baja Recibir Pago de Colegiatura Dame el Saldo Dame Reporte de Calificaciones

Clase (Clase de cosa. Son los sustantivos)

Mtodos (Acciones o comportamiento. Son los verbos)

Ejemplo Clase (UML)


Nombre de la Clase Atributos Tipo de Dato Modificadores (Pblico, Privado, Esttico, etc.)

Parmetros (Con Tipo de Dato, Opcional/Reque rido, etc.

Modificadores (Pblico, Privado, Esttico, etc.)

Mtodos (Acciones)

Retorno y su Tipo de Dato

Interfaces
Qu es una Interface?:
Una interfaz es un conjunto de mtodos y atributos en las que solo se especifica qu se debe hacer pero no su implementacin. Sern las clases que implementen estas interfaces las que describan la lgica del comportamiento de los mtodos. Se pueden entender como plantillas.

Beneficios:
Mejor diseo (Toda aplicacin diseada como OOP debe tener interfaces). Mantenimiento. Consistencia. Obligar a que las clases que las implementan utilicen los mismos mtodos. Establecer relaciones entre clases que no estn relacionadas. Emulacin de herencia mltiple.

Ejemplo de Interface
Letter paperSize
setHeader getHeader setBody getBody setLandscape getLandscape setBackground

Document <<interface>>

setHeader getHeader setBody getBody setLandscape getLandscape

AccountingPolicy paperSize
setHeader getHeader setBody getBody setLandscape getLandscape setDocClass

Invoice paperSize
setHeader getHeader setBody getBody setLandscape getLandscape setType

Vous aimerez peut-être aussi