<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: super_class in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/super-class/m-p/2469352#M554963</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Sandeep,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In object oriented programming there is a property called Inheritance.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In inheritabce common components exist only once in the superclass, so they can be maintained centrally &amp;#150; generalization.  This provides a better structure for the software.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Subclasses inherit all the main characteristics of superclass &amp;#150; specialization.&lt;/P&gt;&lt;P&gt;So redundant implementations is avoided. Subclasses contain extensions / changes i.e. they can also add new components and replace the &lt;/P&gt;&lt;P&gt;implementations with inherited methods.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;u&amp;gt;&amp;lt;b&amp;gt;Advantages of Inheritance are -&amp;lt;/b&amp;gt;&amp;lt;/u&amp;gt; &lt;/P&gt;&lt;P&gt;Centralized maintenance.&lt;/P&gt;&lt;P&gt;Safe, generic method of access.&lt;/P&gt;&lt;P&gt;Entire software component can be easily extended.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please see the followoing program.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;       Class (Definiton)  zl_lcl_vehicle&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       Definition of the Superclass&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLASS zl_lcl_vehicle DEFINITION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PUBLIC SECTION.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Visible to all&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    METHODS: set_make      IMPORTING im_make        TYPE string&lt;/P&gt;&lt;P&gt;                                     im_model       TYPE string,&lt;/P&gt;&lt;P&gt;             get_make      EXPORTING ex_make        TYPE string&lt;/P&gt;&lt;P&gt;                                     ex_model       TYPE string.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PROTECTED SECTION.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Visible within class and all subclasses&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    DATA gv_n_o_veh TYPE i.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PRIVATE SECTION.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Only visible within the class&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    DATA: gv_make         TYPE string,   " Vehicle make&lt;/P&gt;&lt;P&gt;          gv_model        TYPE string.   " Type or model&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDCLASS.                    "zl_lcl_vehicle DEFINITION&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;       Class (Definiton)  zl_lcl_vehicle&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       Definition of the Subclass&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLASS zl_lcl_car DEFINITION INHERITING FROM zl_lcl_vehicle.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PUBLIC SECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    METHODS: set_vehtype   IMPORTING im_vehtype     TYPE string&lt;/P&gt;&lt;P&gt;                                     im_n_o_veh     TYPE i,&lt;/P&gt;&lt;P&gt;             get_vehtype   EXPORTING ex_vehtype     TYPE string&lt;/P&gt;&lt;P&gt;                                     ex_n_o_veh     TYPE i.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PRIVATE SECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    DATA gv_vehtype TYPE string.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDCLASS.                    "zl_lcl_car DEFINITION&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;       Class (Implementation)  zl_lcl_vehicle&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       Implementation of the Superclass&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLASS zl_lcl_vehicle IMPLEMENTATION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  METHOD set_make.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF im_make  IS NOT INITIAL&lt;/P&gt;&lt;P&gt;       AND im_model IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;      gv_make  = im_make.&lt;/P&gt;&lt;P&gt;      gv_model = im_model.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDMETHOD.                    "set_make&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  METHOD get_make.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ex_make  = gv_make.&lt;/P&gt;&lt;P&gt;    ex_model = gv_model.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDMETHOD.                    "get_make&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDCLASS.               "zl_lcl_vehicle&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;       Class (Implementation)  zl_lcl_car&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       Implementation of the Subclass&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLASS zl_lcl_car IMPLEMENTATION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  METHOD set_vehtype.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF im_vehtype IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;      gv_vehtype  = im_vehtype.&lt;/P&gt;&lt;P&gt;*Protected component of superclass can be directly accessed in subclass.&lt;/P&gt;&lt;P&gt;**&lt;/P&gt;&lt;P&gt;*The same applies for public components, private components of&lt;/P&gt;&lt;P&gt;*superclass *&lt;/P&gt;&lt;P&gt;*have to be accessed using public or protected methods of superclass.&lt;/P&gt;&lt;P&gt;**&lt;/P&gt;&lt;P&gt;      gv_n_o_veh  = im_n_o_veh.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDMETHOD.                    "set_vehtype&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  METHOD get_vehtype.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ex_vehtype  = gv_vehtype.&lt;/P&gt;&lt;P&gt;    ex_n_o_veh  = gv_n_o_veh.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDMETHOD.                    "get_vehtype&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDCLASS.               "zl_lcl_car&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Declaring a reference variable with reference to the subclass.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA z_car TYPE REF TO zl_lcl_car.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: gv_make         TYPE string,&lt;/P&gt;&lt;P&gt;      gv_model        TYPE string,&lt;/P&gt;&lt;P&gt;      gv_vehtype      TYPE string,&lt;/P&gt;&lt;P&gt;      gv_n_o_veh      TYPE i.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Creating an instance of the subclass&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CREATE OBJECT z_car.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Accessing the public methods of superclass&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  z_car-&amp;gt;set_make( EXPORTING im_make  = 'MARUTI'&lt;/P&gt;&lt;P&gt;                             im_model = '800' ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  z_car-&amp;gt;get_make( IMPORTING  ex_make  = gv_make&lt;/P&gt;&lt;P&gt;                              ex_model = gv_model ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Accessing the methods of subclass&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  z_car-&amp;gt;set_vehtype( EXPORTING im_vehtype = 'Car'&lt;/P&gt;&lt;P&gt;                                im_n_o_veh = '10' ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  z_car-&amp;gt;get_vehtype( IMPORTING ex_vehtype = gv_vehtype&lt;/P&gt;&lt;P&gt;                                ex_n_o_veh = gv_n_o_veh ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WRITE: / 'Vehicle type :', gv_vehtype,&lt;/P&gt;&lt;P&gt;         / 'Make  :', gv_make,&lt;/P&gt;&lt;P&gt;         / 'Model :', gv_model,&lt;/P&gt;&lt;P&gt;         / 'No of ordered vehicles :', gv_n_o_veh.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;Award points if useful.&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Indrajit&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 06 Jul 2007 06:54:20 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2007-07-06T06:54:20Z</dc:date>
    <item>
      <title>super_class</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/super-class/m-p/2469350#M554961</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;what is meaning of super_class&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 06 Jul 2007 06:11:50 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/super-class/m-p/2469350#M554961</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-06T06:11:50Z</dc:date>
    </item>
    <item>
      <title>Re: super_class</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/super-class/m-p/2469351#M554962</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Sandeep&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The super class is, as the name implies, the class from which the sub-classes are inheriting.&lt;/P&gt;&lt;P&gt;Within the sub-classes you can call methods of the super class using:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;  CALL METHOD super-&amp;gt;method( ).&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;  Uwe&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 06 Jul 2007 06:29:25 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/super-class/m-p/2469351#M554962</guid>
      <dc:creator>uwe_schieferstein</dc:creator>
      <dc:date>2007-07-06T06:29:25Z</dc:date>
    </item>
    <item>
      <title>Re: super_class</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/super-class/m-p/2469352#M554963</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Sandeep,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In object oriented programming there is a property called Inheritance.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In inheritabce common components exist only once in the superclass, so they can be maintained centrally &amp;#150; generalization.  This provides a better structure for the software.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Subclasses inherit all the main characteristics of superclass &amp;#150; specialization.&lt;/P&gt;&lt;P&gt;So redundant implementations is avoided. Subclasses contain extensions / changes i.e. they can also add new components and replace the &lt;/P&gt;&lt;P&gt;implementations with inherited methods.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;u&amp;gt;&amp;lt;b&amp;gt;Advantages of Inheritance are -&amp;lt;/b&amp;gt;&amp;lt;/u&amp;gt; &lt;/P&gt;&lt;P&gt;Centralized maintenance.&lt;/P&gt;&lt;P&gt;Safe, generic method of access.&lt;/P&gt;&lt;P&gt;Entire software component can be easily extended.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please see the followoing program.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;       Class (Definiton)  zl_lcl_vehicle&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       Definition of the Superclass&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLASS zl_lcl_vehicle DEFINITION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PUBLIC SECTION.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Visible to all&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    METHODS: set_make      IMPORTING im_make        TYPE string&lt;/P&gt;&lt;P&gt;                                     im_model       TYPE string,&lt;/P&gt;&lt;P&gt;             get_make      EXPORTING ex_make        TYPE string&lt;/P&gt;&lt;P&gt;                                     ex_model       TYPE string.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PROTECTED SECTION.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Visible within class and all subclasses&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    DATA gv_n_o_veh TYPE i.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PRIVATE SECTION.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Only visible within the class&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    DATA: gv_make         TYPE string,   " Vehicle make&lt;/P&gt;&lt;P&gt;          gv_model        TYPE string.   " Type or model&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDCLASS.                    "zl_lcl_vehicle DEFINITION&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;       Class (Definiton)  zl_lcl_vehicle&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       Definition of the Subclass&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLASS zl_lcl_car DEFINITION INHERITING FROM zl_lcl_vehicle.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PUBLIC SECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    METHODS: set_vehtype   IMPORTING im_vehtype     TYPE string&lt;/P&gt;&lt;P&gt;                                     im_n_o_veh     TYPE i,&lt;/P&gt;&lt;P&gt;             get_vehtype   EXPORTING ex_vehtype     TYPE string&lt;/P&gt;&lt;P&gt;                                     ex_n_o_veh     TYPE i.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PRIVATE SECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    DATA gv_vehtype TYPE string.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDCLASS.                    "zl_lcl_car DEFINITION&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;       Class (Implementation)  zl_lcl_vehicle&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       Implementation of the Superclass&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLASS zl_lcl_vehicle IMPLEMENTATION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  METHOD set_make.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF im_make  IS NOT INITIAL&lt;/P&gt;&lt;P&gt;       AND im_model IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;      gv_make  = im_make.&lt;/P&gt;&lt;P&gt;      gv_model = im_model.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDMETHOD.                    "set_make&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  METHOD get_make.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ex_make  = gv_make.&lt;/P&gt;&lt;P&gt;    ex_model = gv_model.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDMETHOD.                    "get_make&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDCLASS.               "zl_lcl_vehicle&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;       Class (Implementation)  zl_lcl_car&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       Implementation of the Subclass&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLASS zl_lcl_car IMPLEMENTATION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  METHOD set_vehtype.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF im_vehtype IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;      gv_vehtype  = im_vehtype.&lt;/P&gt;&lt;P&gt;*Protected component of superclass can be directly accessed in subclass.&lt;/P&gt;&lt;P&gt;**&lt;/P&gt;&lt;P&gt;*The same applies for public components, private components of&lt;/P&gt;&lt;P&gt;*superclass *&lt;/P&gt;&lt;P&gt;*have to be accessed using public or protected methods of superclass.&lt;/P&gt;&lt;P&gt;**&lt;/P&gt;&lt;P&gt;      gv_n_o_veh  = im_n_o_veh.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDMETHOD.                    "set_vehtype&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  METHOD get_vehtype.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ex_vehtype  = gv_vehtype.&lt;/P&gt;&lt;P&gt;    ex_n_o_veh  = gv_n_o_veh.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDMETHOD.                    "get_vehtype&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDCLASS.               "zl_lcl_car&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Declaring a reference variable with reference to the subclass.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA z_car TYPE REF TO zl_lcl_car.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: gv_make         TYPE string,&lt;/P&gt;&lt;P&gt;      gv_model        TYPE string,&lt;/P&gt;&lt;P&gt;      gv_vehtype      TYPE string,&lt;/P&gt;&lt;P&gt;      gv_n_o_veh      TYPE i.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Creating an instance of the subclass&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CREATE OBJECT z_car.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Accessing the public methods of superclass&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  z_car-&amp;gt;set_make( EXPORTING im_make  = 'MARUTI'&lt;/P&gt;&lt;P&gt;                             im_model = '800' ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  z_car-&amp;gt;get_make( IMPORTING  ex_make  = gv_make&lt;/P&gt;&lt;P&gt;                              ex_model = gv_model ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Accessing the methods of subclass&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  z_car-&amp;gt;set_vehtype( EXPORTING im_vehtype = 'Car'&lt;/P&gt;&lt;P&gt;                                im_n_o_veh = '10' ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  z_car-&amp;gt;get_vehtype( IMPORTING ex_vehtype = gv_vehtype&lt;/P&gt;&lt;P&gt;                                ex_n_o_veh = gv_n_o_veh ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WRITE: / 'Vehicle type :', gv_vehtype,&lt;/P&gt;&lt;P&gt;         / 'Make  :', gv_make,&lt;/P&gt;&lt;P&gt;         / 'Model :', gv_model,&lt;/P&gt;&lt;P&gt;         / 'No of ordered vehicles :', gv_n_o_veh.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;Award points if useful.&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Indrajit&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 06 Jul 2007 06:54:20 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/super-class/m-p/2469352#M554963</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-06T06:54:20Z</dc:date>
    </item>
    <item>
      <title>Re: super_class</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/super-class/m-p/2469353#M554964</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;super class is nothing but normal calss, we called the class as super class only if we derived subclass from the exisisting class.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Inheritance allows you to derive a new class from an existing class. You do this using the INHERITING FROM addition in the &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;CLASS &amp;lt;subclass&amp;gt; DEFINITION INHERITING FROM &amp;lt;superclass&amp;gt;.&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;statement. The new class &amp;lt;subclass&amp;gt; inherits all of the components of the existing class &amp;lt;superclass&amp;gt;. The new class is called the subclass of the class from which it is derived. &amp;lt;b&amp;gt;The original class is called the superclass of the new class.&amp;lt;/b&amp;gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;in object oriented abap, OBJECT class is the super class for all the exisisting classes.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;follow this sample program for knowing the super class.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;REPORT demo_inheritance.

CLASS counter DEFINITION.
  PUBLIC SECTION.
    METHODS: set IMPORTING value(set_value) TYPE i,
             increment,
             get EXPORTING value(get_value) TYPE i.
   PROTECTED SECTION . 
    DATA count TYPE i.
ENDCLASS.

CLASS counter IMPLEMENTATION.
  METHOD set.
    count = set_value.
  ENDMETHOD.
  METHOD increment.
    ADD 1 TO count.
  ENDMETHOD.
  METHOD get.
    get_value = count.
  ENDMETHOD.
ENDCLASS.

CLASS counter_ten DEFINITION INHERITING FROM counter. 
  PUBLIC SECTION.
    METHODS increment REDEFINITION . 
    DATA count_ten.
ENDCLASS.

CLASS counter_ten IMPLEMENTATION.
  METHOD increment.
    DATA modulo TYPE I.
     CALL METHOD super-&amp;gt;increment . 
    write / count.
    modulo = count mod 10.
    IF modulo = 0.
      count_ten = count_ten + 1.
      write count_ten.
    ENDIF.
  ENDMETHOD.
ENDCLASS.

DATA: count TYPE REF TO counter,
      number TYPE i VALUE 5.

START-OF-SELECTION.

   CREATE OBJECT count TYPE counter_ten .

  CALL METHOD count-&amp;gt;set EXPORTING set_value = number.

  DO 20 TIMES.
    CALL METHOD count-&amp;gt;increment.
  ENDDO.&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The class COUNTER_TEN is derived from COUNTER. It redefines the method INCREMENT. To do this, you must change the visibility of the COUNT attribute from PRIVATE to PROTECTED. The redefined method calls the obscured method of the superclass using the pseudoreference SUPER-&amp;gt;. The redefined method is a specialization of the inherited method. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The example instantiates the subclass. The reference variable pointing to it has the type of the superclass. When the INCREMENT method is called using the superclass reference, the system executes the redefined method from the subclass. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;regards,&lt;/P&gt;&lt;P&gt;Ashk Reddy&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 06 Jul 2007 07:41:13 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/super-class/m-p/2469353#M554964</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-06T07:41:13Z</dc:date>
    </item>
    <item>
      <title>Re: super_class</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/super-class/m-p/2469354#M554965</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Super class is noting but a class having sub classes.i,e any class can be derived from super class.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;reward points if usefull&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 06 Jul 2007 10:17:29 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/super-class/m-p/2469354#M554965</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-06T10:17:29Z</dc:date>
    </item>
  </channel>
</rss>

