Code: Alles auswählen.
CLASS lcl_auto DEFINITION.
PUBLIC SECTION.
DATA kennzeichen(10) TYPE c.
METHODS drucke.
PRIVATE SECTION.
DATA: autotyp(20) TYPE c,
tankfuellung TYPE i,
verbrauch TYPE p DECIMALS 2.
ENDCLASS.
Code: Alles auswählen.
*----------------------------------------------------------------------*
* CLASS lcl_auto DEFINITION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS lcl_auto DEFINITION.
PUBLIC SECTION.
DATA kennzeichen(10) TYPE c.
METHODS drucke.
METHODS get_autotyp EXPORTING e_autotyp TYPE char20.
METHODS set_autotyp IMPORTING i_autotyp TYPE char20.
PRIVATE SECTION.
DATA: autotyp(20) TYPE c,
tankfuellung TYPE i,
verbrauch TYPE p DECIMALS 2.
ENDCLASS. "lcl_auto DEFINITION
*----------------------------------------------------------------------*
* CLASS lcl_auto IMPLEMENTATION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS lcl_auto IMPLEMENTATION.
METHOD drucke.
ENDMETHOD. "drucke
METHOD get_autotyp.
e_autotyp = autotyp.
ENDMETHOD. "get_autotyp
METHOD set_autotyp.
autotyp = i_autotyp.
ENDMETHOD. "set_autotyp
ENDCLASS. "lcl_auto IMPLEMENTATION
Folgende Benutzer bedankten sich beim Autor PeterPaletti für den Beitrag:
yuro
Code: Alles auswählen.
CLASS lcl_auto DEFINITION.
PUBLIC SECTION.
TYPES: t_verbrauch(8) TYPE p DECIMALS 2.
DATA kennzeichen(10) TYPE c.
METHODS constructor IMPORTING i_autotyp TYPE char20
i_tank TYPE i
i_verbrauch TYPE t_verbrauch.
METHODS drucke.
METHODS get_autotyp RETURNING value(e_autotyp) TYPE char20.
METHODS set_autotyp IMPORTING i_autotyp TYPE char20.
PRIVATE SECTION.
.
DATA: autotyp(20) TYPE c,
tankfuellung TYPE i,
verbrauch TYPE t_verbrauch.
ENDCLASS. "lcl_auto DEFINITION
*----------------------------------------------------------------------*
* CLASS lcl_auto IMPLEMENTATION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS lcl_auto IMPLEMENTATION.
METHOD constructor.
autotyp = i_autotyp.
tankfuellung = i_tank.
verbrauch = i_verbrauch.
ENDMETHOD. "constructor
METHOD drucke.
ENDMETHOD. "drucke
METHOD get_autotyp.
e_autotyp = autotyp.
ENDMETHOD. "get_autotyp
METHOD set_autotyp.
autotyp = i_autotyp.
ENDMETHOD. "set_autotyp
ENDCLASS. "lcl_auto IMPLEMENTATION
DATA ref_my_class TYPE REF TO lcl_auto.
DATA ld_autotyp TYPE char20.
START-OF-SELECTION.
CREATE OBJECT ref_my_class
EXPORTING
i_autotyp = 'MERCEDES'
i_tank = 80
i_verbrauch = 2.
ld_autotyp = ref_my_class->get_autotyp( ).
WRITE ld_autotyp.
Code: Alles auswählen.
CLASS lcl_person DEFINITION.
PUBLIC SECTION.
DATA: n_name(20) TYPE c,
v_name(20) TYPE c.
METHODS:constructor IMPORTING in_name TYPE csequence
iv_name TYPE csequence
i_plz TYPE csequence
i_ort TYPE csequence
i_strasse TYPE csequence,
drucke,
zaehlen,
get_plz RETURNING VALUE(r_plz) LIKE plz,
set_plz IMPORTING VALUE(i_plz) TYPE csequence,
get_ort RETURNING VALUE(r_ort) LIKE ort,
set_ort IMPORTING VALUE(i_ort) TYPE csequence,
get_strasse RETURNING VALUE(r_strasse) LIKE strasse,
set_strasse IMPORTING VALUE(i_strasse) TYPE csequence.
PRIVATE SECTION.
DATA: plz(5) TYPE c,
ort(20) TYPE c,
strasse(50) TYPE c.
ENDCLASS.
*------------------------------------*
* Implementierung von Klasse "PERSON"
*------------------------------------*
CLASS lcl_person IMPLEMENTATION.
METHOD constructor.
n_name = in_name.
v_name = iv_name.
ort = i_ort.
plz = i_plz.
strasse = i_strasse.
ADD 1 TO zaehler.
ENDMETHOD.
METHOD get_plz.
r_plz = plz.
ENDMETHOD.
METHOD set_plz.
plz = i_plz.
ENDMETHOD.
METHOD get_ort.
r_ort = ort.
ENDMETHOD.
METHOD set_ort.
ort = i_ort.
ENDMETHOD.
METHOD drucke.
WRITE: / 'Mein Name ist ', 15 v_name, 25 n_name, 30 '.',
/ 'Anschrift: ', 12 strasse, 27 plz, 35 ort.
SKIP.
ENDMETHOD.
ENDCLASS.
*------------------------------------*
* Datendeklaration
*------------------------------------*
DATA person1 TYPE REF TO lcl_person.
*------------------------------------*
* Ereignis
*------------------------------------*
START-OF-SELECTION.
CREATE OBJECT person1 EXPORTING in_name = 'Meier'
iv_name = 'Peter'
i_strasse = 'Peterstrasse'
i_plz = '60322'
i_ort = 'Frankfurt am Main'.
person1->drucke( ).
@Peter"PLZ" muß eine flache Struktur sein. Interne Tabellen, Referenzen, Strings und Strukturen sind als Komponenten verboten.
Code: Alles auswählen.
METHOD set_ort.
me->ort = i_ort.
ENDMETHOD.
METHOD drucke.
WRITE: / 'Mein Name ist ', 15 me->v_name, 25 me->n_name, 30 '.',
/ 'Anschrift: ', 12 me->strasse, 27 me->plz, 35 me->ort.
SKIP.
ENDMETHOD.
Folgende Benutzer bedankten sich beim Autor a-dead-trousers für den Beitrag:
yuro
Verwende einfach statt LIKE einen echten Datentyp mit TYPE.yuro hat geschrieben:Frag mich nur wie ich jetzt auf meinen Private bereich zugreifen kann?