Anda di halaman 1dari 10

RESUMEN ACADEMIA ABAP

TAW10_1 FUNDAMENTOS ABAP

TAW10_2 PANTALLAS

TAW12_1 PROGRAMACION ORIENTADA A OBJETOS

CAPITULO 1. Introduccin a la Programacin Orientada a Objetos.


Programacin Procedimental: Los datos y las funciones estn separados. No hay proteccin para los objetos de datos globales. Se puede acceder a todas las variables en cualquier momento. Programacin Orientada a Objetos: Es un paradigma de programacin que usa los objetos en sus interacciones, para disear programas informticos. Est basado en varias tcnicas, incluyendo encapsulamiento, herencia, abstraccin y polimorfismo. Objetos ABAP: Son una extensin sistemtica de ABAP que contiene los mismos conceptos que otros lenguajes de POO como Java, C++, etc. Hay un pequeo nmero de conceptos POO que no demostraron ser eficaces en objetos ABAP y no se incluyeron. Tambin en Objetos ABAP hay elementos lingsticos tiles que no ofrecen C++ y JAVA. Ventajas de POO vs Procedimental: Consistencia de software, mantenimiento reducido a software. El proceso de desarrollo de software en PPO es de 4 pasos: Necesidad o idea; Anlisis y diseo (UML); Implementacin (Objetos ABAP) y Pruebas. Objeto: Es la instancia de una clase. Son una abstraccin directa del mundo real. Son entidades que tienen un conjunto determinado propiedades (atributos o estados), comportamiento (mtodo o funcionalidad) e identidad. Cada objeto ofrece exactamente los servicios que estn en su rea de responsabilidad. Componentes de un objeto: atributos, mtodos, identidad y relaciones. Si un objeto necesita otros servicios, los solicita a otros objetos. Esto es el principio de delegacin. Clase: Descripcin tcnica y general de una cantidad de objetos idnticos (estn tipificados mediante las mismas caractersticas y el mismo comportamiento). Puede contener Atributos y Metodos. Atributos: Las caractersticas que describen a la clase. Describen o contienen los datos que pueden almacenarse en los objetos de una clase y determinan el estatus de un objeto. Funciones: Como funciona la clase, sus mtodos de trabajo, sus servicios. Una clase es una plantilla o un prototipo para crear objetos, por eso se dice que los objetos son instancias de clases. Una clase contiene la descripcin genrica de un objeto y describe todas las caractersticas que tienen en comn todos los objetos de la clase. Encapsulacin de datos y funciones OCULTAMIENTO/ABSTRACCION: No hay acceso directo a los objetos, funciones, atributos. Es el registro de datos y funciones en unidades reutilizables y no se puede acceder a los datos directamente. Instancia: Instanciacin: Crear varios objetos a partir de una Clase. Durante el tiempo de ejecucin del programa, la clase se utiliza para crear objetos discretos (instancias) en la memoria. Conceptos adicionales del modelo de POO:

Herencia: define las relaciones de implementacin entre clases, de manera que una clase (subclase) adopta (hereda) los atributos y mtodos de otra clase (superclase) declarados en la seccin publica. Los componentes registrados en la seccin privada tambin se heredan, pero como no pertenecen a la clase, se mantienen escondidos y solo pueden ser accedidos a travs de mtodos pblicos. Polimorfismo; Cuando instancias de diferentes clases responden de manera distinta a los mismos mensajes. comportamientos diferentes, asociados a objetos distintos, pueden compartir el mismo nombre Control de eventos: Recoleccin de basura: tcnica por la cual el entorno de objetos se encarga de destruir automticamente, y por tanto desvincular la memoria asociada, los objetos que hayan quedado sin ninguna referencia a ellos. La identidad es un atributo que distingue cada objeto de entre el resto de los objetos de su clase. Un diagrama de clases describe todas las relaciones estticas entre clases. Dos formas bsicas de relaciones estticas son: Asociacin y Generalizacin/especializacin. ASOCIACION: describe una relacin semntica entre clases. La relacin especfica entre objetos de estas clases se conoce como un enlace de objetos, por lo tanto los enlaces de objetos son instancias de asociacin. Una asociacin suele ser una relacin entre diferentes clases pero puede haber asociaciones recursivas o sea, la clases tiene una relacin con ella misma. Las asociaciones recursivas se utilizan para enlazar dos objetos diferentes en una clase (Empresa jefe/empleado). Cada asociacin tiene dos roles, cada rol tiene una cardinalidad (tambin llamada multiciplidad) que muestra cuantas instancias pueden participar de esta relacin. Cardinalidad o multiciplidad es el nmero de objetos participantes en una clase que tienen relacin con un objeto de la otra clase. La agregacin y la Composicin son especializacin de asociacin. Indican que un objeto esta formado por otros objetos o contienen otros objetos. Agregacin: Una relacin de parte total (obligatorio). consiste de rombo vaco. Las 4 llantas pueden estar asociadas al vehculo. Composicin (segregacin): caso especial de agregacin, Una relacin de parte total dependiente de la existencia (no obligatorio). es una parte de . Significa que el objeto contenido no puede existir sin el agregado, por lo tanto la cardinalidad del agregado solo puede ser exactamente una. Las partes se crean con o despus del agregado y se destruyen con el agregado o antes del agregado. Rombo lleno. GENERALIZACION/ESPECIALIZACION: Estn siempre relacionadas, son bidireccionales. El nivel de generalizacin aumenta en la direccin de la flecha (apuntando a la clase mas general arriba-). Los componentes de una clase son atributos, mtodos, eventos, constantes, tipos e interfaces implementados. SINTAXIS PARA CLASE: CLASS xcl_yyyy DEFINITION. PUBLIC SECTION. PRIVATE SECTION.

. ENDCLASS. CLASS xcl_yyyy IMPLEMENTATION. PUBLIC SECTION. PRIVATE SECTION. ENDCLASS. La sentencia CLASS no puede anidarse. Los componentes de una clase son atributos, mtodos, eventos, constantes, tipos e interfaces implementados. La visibilidad tiene tres secciones (pblica, xxxxx y privada) SINTAXIS PARA ATRIBUTOS, TIPOS Y CONSTANTES DENTRO DE LAS CLASES: Se ponen dentro del rea de DEFINITION, ninguno en IMPLEMENTATION. CLASS xcl_yyyy DEFINITION. TYPES: . CONSTANTS: . DATA: var1 TYPE local_type, var2 TYPE global_type, var3 LIKE variable1, var4 TYPE built_in_type VALUE val, var5 TYPE . READ-ONLY, var6 TYPE REF TO class_name, var7 TYPE REF TO interface_name, var8 TYPE REF TO type_name. ENDCLASS. TYPE.- solo para referencia a tipos de datos (data-element, structure, tables). LIKE.- esta permitida para objetos de datos locales o campos SY (DATE, UNAME, ). READ-ONLY.- Solo se puede utilizar en PUBLIC SECTION. Significa que un atributo fue declarado pblico y con DATA para ser ledo desde el exterior, pero solo puede modificarse por mtodos de la misma clase. TYPE REF TO.- estas variables de referencia hacen referencia a clases, interfaces o tipos. Los atributos pueden estar en la seccin pblica o privada. Atributos en seccin pblica: visibles y modificables en general. Atributos en seccin privada: visibles y modificables SOLO dentro de la clase. No visibles y modificables desde el exterior. La seccin privada tambin se conoce como supresin de informacin o encapsulacin. Los componentes pblicos de una clase se conocen a veces de manera colectiva como interface de la clase. Atributos de Instancia (su comando es DATA): Existen una vez por objeto, es decir una vez por instancia de tiempo de ejecucin de la clase.

Atributos estticos (su comando es CLASS-DATA): Existen una vez para cada clase y son visibles para todas las instancias de tiempo de ejecucin de esta clase. Suelen contener informacin que se refiere a todas las instancias. Tambin se conoce como atributo de clase. SINTAXIS PARA METODOS: CLASS xcl_yyyy DEFINITION. METHODS zzzzzz IMPORTING im_pa TYPE type_name EXPORTING firma CHANGING RETURNING value(re_par) EXCEPTIONS rrrrrr o RAISING exception_class. CLASS xcl_yyyy IMPLEMENTATION. METHOD zzzzzz. Ejecucin del mtodo . ENDMETHOD. La implementacin de los mtodos son procesos internos en clases que determinan el comportamiento de los objetos. Pueden tener acceso a todos los atributos de su clase. Los mtodos tienen firma (parmetros y excepciones de interface) que les permite recibir y devolver valores al programa de llamada. Los parmetros (imp, exp, chang) pueden ser transmitidos por valor o referencia. Con el parmetro RETURN, no se pueden definir los parmetros EXPORTING y CHANGING. Con el suplemento OPTIONAL, el parmetro permanecer inicializado segn el tipo. Con el suplemento DEFAULT permite introducir un valor de inicio. El parmetro EXCEPTIONS es para utilizarlo con SY-SUBRC. SY-SUBRC es un cdigo de retorno para .. Los mtodos pblicos pueden llamarse desde el exterior. Los mtodos privados solo pueden llamarse desde dentro de la clase. Un mtodo privado puede ser llamado por un mtodo pblico desde el rea IMPLEMENTATION. Los METODOS DE INSTANCIA pueden acceder a los componentes estticos como a los de instancia, (su comando es METHODS). Los METODOS ESTATICOS solo pueden acceder a los componentes estticos, y se definen a nivel de clase (su comando es CLASS-METHODS), no necesitan instancias. Tambin se conocen como mtodos de clase. Notacin UML: + significa publico, - significa privado, ___ significa estticos (class). Un objeto debe de tener al menos una referencia para acceder al objeto. El recolector de basura (Garbage Collector) es una rutina de sistema que se inicia automticamente para borrar todos los objetos que ya no tienen referencias que les apunten. Puede utilizar la consulta lgica IF r_obj IS INITIAL para saber si el objeto contiene la referencia cero. El comando CREATE OBJECT crea UN objeto en la memoria. Sus valores de atributo son o bien iniciales o se asignan de acuerdo a la especificacin de VALUE. Una variable de referencia es . .Las variables de referencia tambin pueden asignarse unas a otras. El comando TYPE REF TO es para ..

Una referencia es. Para mantener varios objetos de la misma clase en el programa (admon de referencia con instanciacin mltiple), hay que definir una tabla interna (itab) que contenga una columna con las referencias de objeto para esta clase.

Declaro objeto y tabla interna Creo los objetos

Recupero UNO

Recupero varios
Instanciacin mltiple: Es crear y gestionar cualquier numero de instancias en tiempo de ejecucin en un espacio para cada contexto de programa. Permite crear una abstraccin directa de un objeto real. Mtodo es cuando un objeto que requiere los servicios de otro objeto, enva un mensaje al objeto que ofrece los servicios, este mensaje nombre la operacin a ejecutar. Tambin mtodo se puede utilizar como sinnimo de operacin y mensaje. Por lo tanto el comportamiento de un objeto viene determinado por su mtodo. La firma del mtodo tambin puede utilizarse para intercambio de valores. Son para explotar o guardar datos.

La sintaxis para llamada de METODO DE INSTANCIA (->) es:

La sintaxis para llamada de METODO ESTATICO (=>) es:

Como los atributos estticos, los mtodos estticos se llaman por su nombre de clase, ya que no necesitan instancias. Mtodos funcionales: son especiales, siempre utilizan el parmetro RETURNING, Importing o Exception y debe transmitirse mediante el suplemento VALUE, no pueden tener parmetros EXPORTING, CHANGING. Solo pueden recibir datos Acceso a atributos pblicos: en la medida de lo posible, los atributos deben de ser privados. Son para consulta. Para acceder a atributos pblicos desde fuera de la clase, es de la misma manera que las llamadas de mtodos. Se accede a los atributos estticos con classname=>static_attribute. Se accede a los atributos de instancia con ref->instance_attribute. Ejemplos:

Constructores de Clase: son mtodos especiales, siempre pblicos y se llaman en cuanto el objeto de esa clase ha sido generado en la memoria, cuando defino una clase no siempre debo de definir constructor. hay dos tipos y son de instancia y estticos, se llaman de forma implcita y sirven para pasar datos atributos-. Sintaxis de Constructor de instancia: CREATE OBJECT ref EXPORTING EXCEPTION. . Tener en cuenta: Cada clase puede tener como mximo un constructor. Debe definirse en el rea pblica. La firma solo puede tener parmetros de importacin (EXPORTING) y excepciones. Si se emiten excepciones en el constructor, no se crearan instancias. Los Constructores son necesarios si despus de la instanciacin de una clase: Se deben asignar recursos. Se deben modificar atributos estticos. Se deben enviar mensajes que contenga la informacin de que se ha creado un nuevo objeto. Se deben inicializar atributos que no se cubren con el suplemento VALUE en el comando DATA. Se conoce simplemente como Constructor.

Sintaxis de Constructor Esttico: CLASS_CONSTRUCTOR

Es un mtodo esttico especial en una clase, se ejecuta una vez como mximo por programa (y clase). Funciona cuando se accede a la clase por primera vez durante la ejecucin del sistema (la primera vez que uso un elemento o mtodo de la clase). No tiene parmetros o excepciones, llega antes que el Constructor

Autoreferencia.- necesario cuando se desea indicar una distincin entre objetos de datos locales y atributos de instancia con el MISMO NOMBRE. Cuando se llama un mtodo externo, un objeto de cliente debe exportar una referencia a si mismo. Cuando el atributo y la variable se necesitan llamar igual. Es posible dirigirse a un objeto en si mediante la variable de referencia predefinida dentro de los mtodos de instancia. Sintaxis: me->atributo(make) = variable(make)

Solo existe en mtodos de instancia?

CAPITULO 2. Conceptos orientados a objetos y tcnicas de programacin.

CAPITULO 3. Objetos de Repository orientados a objetos.

CAPITULO 4. El concepto de la excepcin basada en clase.

CAPITULO 5. Objetos compartidos.

CAPITULO 6. Programacin dinmica.

TAW12_2 ENHANCEMENT Y WEB DYNPROS