Você está na página 1de 2

*&---------------------------------------------------------------------*

*& Report Z_CLASSES_OO_1000


*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT z_classes_oo_1000.

*----------------------------------------------------------------------*
* CLASS aluno DEFINITION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS aluno DEFINITION. "defini��o da classe.

PUBLIC SECTION.

METHODS set_nome IMPORTING i_nome TYPE string. " recebe um valor - importa os
atributos do private section. (par�metro i_nome).

METHODS get_nome EXPORTING e_nome TYPE string. " vai devolver um valor.

PROTECTED SECTION.

PRIVATE SECTION.

DATA nome TYPE string. " definindo atributo do methodo nome.

ENDCLASS. "aluno DEFINITION

*----------------------------------------------------------------------*
* CLASS aluno IMPLEMENTATION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS aluno IMPLEMENTATION. "implementa��o da classe.

*Aqui implementamos todos os atributos e m�todos que definimos na definition da


classe.

METHOD set_nome.

nome = i_nome. "valor nome de atributo privado da classe = valor que vai
ter o parametro importing quando se chama o metodo.

ENDMETHOD. "set_nome

METHOD get_nome.

e_nome = nome. "e_nome recebe o valor de nome.

ENDMETHOD. "get_nome

ENDCLASS. "aluno IMPLEMENTATION


START-OF-SELECTION.

DATA: go_aluno TYPE REF TO aluno, "instanciando.


gv_nome TYPE string.

CREATE OBJECT go_aluno.

CALL METHOD go_aluno->set_nome


EXPORTING
i_nome = 'Alberto'.

CALL METHOD go_aluno->set_nome


EXPORTING
i_nome = 'Alberto'.

CALL METHOD go_aluno->get_nome


IMPORTING
e_nome = gv_nome. "vai devolver o nome.

WRITE gv_nome.

Você também pode gostar