Académique Documents
Professionnel Documents
Culture Documents
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.)
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)
Encapsulamiento
Ejemplo de Clase
Clase de Vehculo
Atributos
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
Mtodos (Acciones)
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>>
AccountingPolicy paperSize
setHeader getHeader setBody getBody setLandscape getLandscape setDocClass
Invoice paperSize
setHeader getHeader setBody getBody setLandscape getLandscape setType