SAP ABAP orientado a Objetos-Objetos e Classes
neste tutorial, aprenderemos sobre um dos princípios sobre os quais o ABAP é uma programação orientada a objetos.
aprenderemos sobre o que significa OOP e também o que isso implica no mundo do SAP ABAP.
o que é OOP?
- Programação Orientada a objetos divide tarefas em objetos que têm dados e função.
- este método torna a programação de software compreensível, flexível e reutilizável.
- Programação Orientada a objetos (OOP) foi criada com simplicidade e eloquência em mente.Faz com que as pessoas se comuniquem com clareza, troquem informações e ideias usando uma linguagem comum – a linguagem dos objetos.
- Esses objetos são feitos de seus dois principais características – propriedades (dados) e de comportamento (ou funções)
As principais características da OOP são–
- abstração de Dados
- Encapsulamento
- Ênfase nos dados, ao invés de incluir procedimento de
- Uso de entidades do mundo real, chamado de ‘objeto’
- privacidade e proteção dos Dados
Fique atualizado com as mais recentes tendências da tecnologia
Juntar DataFlair no Telegrama!!
POP vs OOP
Programação Orientada a procedimentos (POP) aborda problemas em um método de cima para baixo. Ele enfatiza o procedimento em vez de dados de forma linear.
Vamos ver algumas diferenças entre o POP e OOP–
POP | OOP |
POP significa para o Procedimento de programação Orientada a | OOP está para programação Orientada a Objeto |
Ele se concentra no procedimento (tarefas), em vez de dados (tarefas) | incide sobre os dados/tarefas ao invés de procedimento |
POP segue de cima para baixo moda na resolução de problemas | OOP segue de baixo para cima moda na resolução de problemas |
Ele divide um programa em partes menores chamadas funções ou módulos | divide um programa em partes menores chamadas de objetos |
Funções de compartilhamento de dados global de dados e não pode ser escondido do outro | Funções não compartilhar global de dados – você pode decidir quem pode acessar seus dados |
Não há muita ênfase na proteção de dados | Um dos principais pontos de foco em OOP é a proteção de dados |
Estendendo a funcionalidade e a adição de dados é tedioso e demorado | é muito fácil para estender a funcionalidade e adicionar novos dados, simplesmente a adição de novos objetos |
Conceitos de herança, polimorfismo, encapsulamento não são usados | Conceitos de herança, polimorfismo, encapsulamento forma a base da OOP |
E. g. C, Pascal, FORTRAN | E. g. Java, Python, C++ |
OOP em ABAP
- Inicialmente, a SAP desenvolveu ABAP como uma linguagem POP.
- no entanto, à medida que o tempo avançava, eles o mudaram e o transformaram em uma linguagem OOP
- portanto, o ABAP agora segue os princípios da orientação do objeto e paradigmas como objetos.
- como parte do OOP, o ABAP usa os conceitos de herança, sobrecarga, ocultação de dados, etc. para uma melhor funcionalidade.
Vamos começar pela compreensão de alguns termos básicos da OOP
termos Básicos para saber
TERMO | SIGNIFICADO |
Objeto | uma entidade do mundo real que tem dados e comportamento |
Classe | um complexo conjunto de objectos que contêm, principalmente, campos de dados e características pertinentes aos dados |
Método | comportamento de um objeto é. módulos de função que o objeto executa |
Membro | o membro de dados ou função de membro de uma classe |
Exemplo | sinônimo de objeto, geralmente usado como “instância de uma classe’ |
Instanciação | criar um novo objeto de uma classe |
Objetos em ABAP SAP
- Um objeto é uma entidade do mundo real que contém dados e comportamento.
- essas características e comportamento definem o estado do objeto e as ações que o objeto executará.
- um objeto, como mencionado anteriormente, é um blueprint ou instância de uma classe.
- por exemplo, um funcionário, um livro, uma macieira – todos são objetos.
Criar um Objeto em ABAP
Vamos ver como criar um objeto em ABAP –
Sintaxe:
DATA: <object_name> TYPE REF TO <class_name>. "Create reference variable CREATE Object: <object_name>. #Create object from ref. var.
Exemplo:
DATA: dataflairobject TYPE REF TO dataflairclass. CREATE Object: dataflairobject.
exemplo de Relatório:
REPORT ZR_SS_DATAFLAIR_SAMPLE_001.CLASS ClassDataFlair Definition.Public Section.DATA: dataflairtext(45) VALUE 'Data Flair OOPS tutorial in ABAP: data.'.METHODS: DataFlairMethod.ENDCLASS.CLASS ClassDataFlair Implementation.METHOD DataFlairMethod.Write:/ 'Data Flair OOPS tutorial in ABAP: method.'.ENDMETHOD.ENDCLASS.START-OF-SELECTION.DATA: ClassDataFlair TYPE REF TO ClassDataFlair.CREATE Object: ClassDataFlair.Write:/ ClassDataFlair->dataflairtext.CALL METHOD: ClassDataFlair->DataFlairMethod.
Saída
Tutorial Data Flair OOPS em ABAP: método.
Aulas em SAP ABAP
- UMA classe é um conjunto complexo de objetos
- contém membros de dados (características) e membro métodos (funções) juntos envolto em uma única entidade chamada de objeto
- as Aulas são onde os objetos são criados e definidos
- Podemos também definir e declarar módulos de função em uma classe
- podemos descrever a privacidade de uma classe
- o Que isso significa é que podemos definir que todos podem ter acesso a dados específicos de uma classe
Criação de uma Classe em ABAP
Criação de uma classe em ABAP tem dois passos –
1. Declaração
Sintaxe–
CLASS <class_name> DEFINITION.//define classENDCLASS.
Exemplo–
CLASS dataflairclass DEFINITION.//define classENDCLASS.
2. Definição
Sintaxe–
CLASS <class_name> IMPLEMENTATION.//define classENDCLASS.
Exemplo–
CLASS dataflairclass IMPLEMENTATION.//define classENDCLASS.
Atributos em SAP ABAP
- Atributos são as características da classe
- Eles podem ter qualquer tipo de dados predefinido como P, F, I, etc.
- devemos declarar atributos na seção de declaração de classe
- os atributos são de dois tipos:
- instância: isso inclui a instância específica do estado do objeto, as alterações são diferentes para todos os objetos, e isto é declarado pela declaração de DADOS
-
- Estática: isto inclui o estado comum da classe para ser compartilhado por todas as instâncias da classe, portanto, quando mudamos de um estado, em seguida, todos os outros objetos podem ver a mudança, declarado pela CLASSE-declaração de DADOS
Métodos em SAP ABAP
- um método é UM módulo ou de uma função
- é o comportamento do objeto de uma classe
- Um método pode acessar de qualquer característica de uma classe
- contém ações a serem executadas pelos objetos que chamamos a classe
- definição de Método podem ou não conter parâmetros que são passados quando o método é chamado
- podemos definir um método usando instruções METHOD e ENDMETHOD
sintaxe:
METHOD…ENDMETHOD
acessando atributos e métodos no SAP ABAP
1. Métodos e atributos podem ser acessados por objetos da classe
2. Os especificadores de acesso – público, privado e protegido funcionam da mesma maneira como o fazem para a classe de acesso especificadores
- Se nós declará-los públicos, que pode ser acessado por qualquer classe
- Quando declaramos-los privados, que não pode ser acessado por qualquer classe
- Se nós declará-los protegidos, eles só podem ser acessados por herança de classes
Vamos ver um exemplo de como escrever classes, atributos e métodos e o acesso a eles –
Exemplo:
REPORT ZR_SS_DATAFLAIR_SAMPLE_001.CLASS dataflairclass Definition. PUBLIC Section. Data: dataflairtext01 Type char25 Value 'Public Data Flair'. Methods dataflairmethod. PROTECTED Section. Data: dataflairtext02 Type char25 Value 'Protected Data Flair'. PRIVATE Section. Data: dataflairtext03 Type char25 Value 'Private Data Flair'.ENDCLASS.CLASS dataflairclass Implementation. Method dataflairmethod. Write: / 'Public Method:', / dataflairtext01, / dataflairtext02, / dataflairtext03. Skip. EndMethod.ENDCLASS.Start-Of-Selection. Data: Objectx Type Ref To dataflairclass. Create Object: Objectx. CALL Method: Objectx->dataflairmethod. Write: / Objectx->dataflairtext01.
Saída
Dados Públicos Talento
Dados Protegidos Talento
Dados Privados FlairPublic Dados Talento
Exemplo de Atributos Estáticos em SAP ABAP
REPORT ZR_SS_DATAFLAIR_SAMPLE_001.CLASS dataflairclass Definition. PUBLIC Section. CLASS-DATA: dataflairname Type char45, dataflairdata Type I. Methods: dataflairmethod.ENDCLASS.CLASS dataflairclass Implementation. Method dataflairmethod. Do 4 Times. dataflairdata = 1 + dataflairdata. Write: / dataflairdata, dataflairname. EndDo. Skip. EndMethod.ENDCLASS.Start-Of-Selection. dataflairclass=>dataflairname = 'ABAP Object Oriented Programming'. dataflairclass=>dataflairdata = 0. Data: Object1 Type Ref To dataflairclass, Object2 Type Ref To dataflairclass. Create Object: Object1, Object2. CALL Method: Object1->dataflairmethod, Object2->dataflairmethod.
Construtores em SAP ABAP
- Construtores são tipos especiais de métodos de
- Quando criamos um objeto, precisamos inicializar e construtores de fazer o trabalho de inicialização de dados para os objetos
- O programa de chamadas de construtores automaticamente quando um objeto desta classe é criado.
- O construtor irá desencadear a operação incluídos, sempre que um objeto é criado recentemente na execução
Exemplo de ABAP Construtores
REPORT ZR_SS_DATAFLAIR_SAMPLE_001.CLASS dataflairclass Definition. PUBLIC Section. Methods: dataflairmethod, constructor.ENDCLASS.CLASS dataflairclass Implementation. Method dataflairmethod. Write: / 'This is the method'. EndMethod. Method constructor. Write: / 'This is the constructor'. EndMethod.ENDCLASS.Start-Of-Selection. Data Object1 Type Ref To dataflairclass. Create Object Object1.
Saída
ME Operador em SAP ABAP
- Sempre que redefinir uma variável dentro de um método com um valor diferente, que método usará o redefinido valor da variável
- no Entanto, se você deseja acessar o originalmente valor declarado, em seguida, você pode usar o operador
- Vamos ver um exemplo usando o operador
Exemplo de MIM Operador em ABAP
REPORT ZR_SS_DATAFLAIR_SAMPLE_001.CLASS dataflairclass Definition. PUBLIC Section.Data dataflairtext Type char25 Value 'Here we have class value'. Methods dataflairmethod.ENDCLASS.CLASS dataflairclass Implementation. Method dataflairmethod.Data dataflairtext Type char25 Value 'Here we have method value'. Write: / ME->dataflairtext, / dataflairtext. ENDMethod.ENDCLASS.Start-Of-Selection. Data objectx Type Ref To dataflairclass. Create Object objectx. CALL Method objectx->dataflairmethod.
Saída
Aqui temos o método de valor
resumo
assim, neste tutorial, aprendemos sobre o básico sobre o qual o ABAP e muitas outras linguagens são Programação Orientada a objetos. Aprendemos sobre como a orientação do objeto é diferente da orientação do procedimento, sua importância e termos mais importantes.
na parte # 2 deste tutorial, vamos mergulhar em outros conceitos de orientação a objetos como herança, polimorfismo, etc.