XBARSLAN

Incubation Hub

  • ANASAYFA
  • HAKKIMDA
  • PROJELER
11 Şubat 2016  |  By xbarslan ABAP-OO

ABAP-OO Redefinition Methods

XBARSLAN code

ABAP-OO Redefinition Methods. Türkçeleştirecek olursak, yaratılan metodları yeniden tanımlamak.

Amaç

Nesne yönelimli programlama mimari kurgu olarak oldukça detaylandırılabilir. Bu olanağı sağlayan konulardan bir tanesi de “Redefinition Methods” konusudur. Bir sınıf için yarattığımız metodun inherit edildiği diğer sınıflarda farklı davranmasını sağlayabileceğimiz bir özellik.


Senaryo

Bir şirketteki çalışanların maaşlarını hesaplayan bir yapı kuracağız. İki sınıfmız olacak. Bir tanesi Employee ikincisi ise Manager sınıfı. Kısacası çalışan ve yönetici sınıfları olacak.

Her yönetici aynı zamanda bir çalışan olduğu için, yönetici sınıfını oluştururken çalışan sınıfından kalıtım alarak yapacağız.


ABAP Kodu

[ABAP]
************************************************************************
* ABAP Development
*
* Author      : Barış Arslan
* Description : Redefinition Methods
************************************************************************

CLASS lcl_employee DEFINITION.
  PUBLIC SECTION.
    DATA : v_name   TYPE name1
         , v_salary TYPE dmbtr READ-ONLY
         .

    METHODS : calculate_salary.

  PROTECTED SECTION.
    CONSTANTS : c_working_days TYPE i VALUE 25.
ENDCLASS.

CLASS lcl_employee IMPLEMENTATION.
  METHOD calculate_salary.
    v_salary = me->c_working_days * 100.
  ENDMETHOD.
ENDCLASS.

CLASS lcl_manager DEFINITION INHERITING FROM lcl_employee.
  PUBLIC SECTION.
    METHODS : calculate_salary REDEFINITION.
ENDCLASS.

CLASS lcl_manager IMPLEMENTATION.
  METHOD calculate_salary.
    v_salary = me->c_working_days * 300.
  ENDMETHOD.
ENDCLASS.

START-OF-SELECTION.
  DATA : go_employee TYPE REF TO lcl_employee
       , go_manager  TYPE REF TO lcl_manager
       .

  CREATE OBJECT go_employee.
  go_employee->v_name = ‘Yavuz Kaya’.
  go_employee->calculate_salary( ).

  WRITE : go_employee->v_name
        , go_employee->v_salary
        .

  CREATE OBJECT go_manager.
  go_manager->v_name = ‘Emre Zararsız’.
  go_manager->calculate_salary( ).

  WRITE : / go_manager->v_name
        , go_manager->v_salary
        .
[/ABAP]


Programın Çıktısı

ABAP-OO Redefinition Methods
ABAP-OO Redefinition Methods
abap redefinition methods ABAP-OO Object Oriented ABAP redefinition methods oop sap abap
Avatar

xbarslan

Related Articles:

  • SAP için Eclipse
    SAP için Eclipse - HANA Studio 5 Mükemmel Özelliği
  • XBARSLAN code
    ABAP-OO Encapsulation

Leave Comment Cancel Reply

(will not be shared)

PrevSAP HANA Cloud Platform (HCP)
NextSAP EPM – Enterprise Procurement Model

Sosyal

Twitter 228Followers

Etiketler

ABAP-OO abap cds ABAP Class Encapsulation ABAP class instance abap hana amdp badi analiz big data bilgi yönetimi cds Encapsulation Fiori Gateway hana hana cds Mobil Mobile mrp live badi mrp live enhancement Netweaver Object Oriented ABAP ODATA Open SAP OPENUI5 raporlama sap sap abap SAP Fiori SAP Fiori Nedir? SAP Frontend SAP Gateway sap hana amdp sap hana mrp live sap merak edilenler SAP Mobil SAP Mobile SAP Mobile SDK SAP Mobility SAP ODATA SAPUI5 SAP Uygulamaları sqlscript veri Xamarin İş hayatı
© copyright 2015 by xbarslan