Advertisement
SocialkingPL

Untitled

Jun 7th, 2019
871
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
ABAP 2.40 KB | None | 0 0
  1. // Tworzenie typów zmiennych
  2. TYPES: BEGIN OF student,
  3.     imie TYPE C,
  4.     naz TYPE C,
  5.     wiek TYPE N,
  6. END OF student.
  7.  
  8. // Tworzenie tabeli oraz zmiennej pomocniczej
  9. DATA student TYPE OF student2.
  10. DATA tabela TYPE TABLE OF student2.
  11.  
  12. // Dodawanie wartości do zmienych
  13. student2-imie = 'Maciek'.
  14. student2-naz = 'Lech'.
  15. student2-wiek = 21.
  16.  
  17. // Umieszczanie wartości w tabeli
  18. INSERT student2 INTO TABLE tabela.
  19.  
  20. // Pętla wyświetlająca wszystkie wartości w tabeli wewnętrznej
  21. LOOP AT tabela IN TO student2.
  22.     WRITE:/ student-imie, student-naz, student-wiek.
  23. ENDLOOP.
  24.  
  25. -----------------------------------------------
  26.  
  27. // Definiowanie klasy student z podstawowymi zmiennymi
  28. CLASS student DEFINITION.
  29.     PUBLIC SECTION.
  30.         METHODS:
  31.             _Imie IMPORTING imie TYPE C.
  32.             _Nazwisko IMPORTING nazwisko TYPE C.
  33. ENDCLASS.
  34.  
  35. // Implementacja podstawowych metod wyświetlających imię oraz nazwisko
  36. // Implementujemy tlko tutaj imię oraz nazwisko, aby w późniejszym czasie móc je dziedziczyć
  37. CLASS student IMPLEMENTATION.
  38.     METHOD _Imie.
  39.         WRITE:/ 'Imie: ', imie.
  40.     ENDMETHOD.
  41.     METHOD _Nazwisko.
  42.         WRITE:/ 'Nazwisko: ', nazwisko.
  43.     ENDMETHOD.
  44. ENDCLASS.
  45.  
  46. // Tworzymy kolejną klase, która będzie dziedziczyć po klasie student
  47. CLASS studentUZ DEFINITION INHERITING FROM student.
  48.     PUBLIC SECTION.
  49.         // Ustawiamy w niej metodę oraz nową zmienną pomocniczą, którą później będziemy mogli wywołać
  50.         METHODS: UstawWiek IMPORTING wiek TYPE C.
  51. ENDCLASS.
  52.  
  53. // Implementujemy również podstawową metodę wyświetlającą
  54. CLASS studentUZ IMPLEMENTATION.
  55.     METHOD UstawWiek.
  56.         WRITE:/ 'Wiek: ', wiek.
  57.     ENDMETHOD.
  58. ENDCLASS.
  59.  
  60. // Musi się od tego zaczynać, ponieważ informujemy iż będziemy operować na danej sekcji w metodach
  61. START OF SELECTION.
  62. // Tworzymy nowe parametry, którym przypiszemy odpowiednie zmienne z metod
  63. PARAMETERS: im TYPE C, nazw TYPE C, wie TYPE N.
  64. // Tworzymy nowy obiekt, który będzie operować na dziedziczeniu i pobieraniu wszystkich wartości
  65. DATA Objekt TYPE REF TO studentUZ.
  66.  
  67. // Tworzymy owy obiekt
  68. CREATE OBJECT Objekt.
  69.  
  70. // Wywołujemy metody oraz przypisujemy im przez import odpowiednie zmienne z nowych parametrów
  71. CALL METHOD Objekt->_Imie EXPORTING imie = im.
  72. CALL METHOD Objekt->_Nazwisko EXPORTING nazwisko = Nazw.
  73. CALL METHOD Objekt->UstawWiek EXPORTING wiek = wie.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement