<?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: Static and instance method or attribute in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/static-and-instance-method-or-attribute/m-p/4005707#M956940</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hiii!&lt;/P&gt;&lt;P&gt;  Just try out this program. Open this program in debugging mode. Your doubts will be cleared. In this program, You can see I have used one internal table to store references to classes. In the LOOP-ENDLOOP statement I'm assigning the references of lcl_passenger and lcl_cargo to their superclass reference. thats where the polymorphism lies. In polymorphism,&lt;/P&gt;&lt;P&gt;Objects from different classes behave differently to same method call. try this example in debugging mode.&lt;/P&gt;&lt;P&gt;    Now static or class methods, exist once per class.&lt;/P&gt;&lt;P&gt;While the instance attribute exist once per object or instance&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT  YH1146_CLASS_CASTING.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPE-POOLS icon.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: r_plane TYPE REF TO lcl_airplane,&lt;/P&gt;&lt;P&gt;      r_cargo TYPE REF TO lcl_cargo_plane,&lt;/P&gt;&lt;P&gt;      r_passenger TYPE REF TO lcl_passenger_plane,&lt;/P&gt;&lt;P&gt;      plane_list TYPE TABLE OF REF TO lcl_airplane.&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;P&gt;lcl_airplane=&amp;gt;display_n_o_airplanes( ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CREATE OBJECT r_passenger EXPORTING&lt;/P&gt;&lt;P&gt;                            im_name      = 'LH BERLIN'&lt;/P&gt;&lt;P&gt;                            im_planetype = '747-400'&lt;/P&gt;&lt;P&gt;                            im_seats     = 345.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;APPEND r_passenger TO plane_list.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CREATE OBJECT r_cargo EXPORTING&lt;/P&gt;&lt;P&gt;                        im_name      = 'US Hercules'&lt;/P&gt;&lt;P&gt;                        im_planetype = '747-500'&lt;/P&gt;&lt;P&gt;                        im_cargo     = 533.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;APPEND r_cargo TO plane_list.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT plane_list INTO r_plane.&lt;/P&gt;&lt;P&gt;  r_plane-&amp;gt;display_attributes( ).&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;lcl_airplane=&amp;gt;display_n_o_airplanes( ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLASS lcl_airplane DEFINITION.&lt;/P&gt;&lt;P&gt;  PUBLIC SECTION.&lt;/P&gt;&lt;P&gt;    CONSTANTS: pos_1 TYPE i VALUE 30.&lt;/P&gt;&lt;P&gt;    METHODS:&lt;/P&gt;&lt;P&gt;      constructor IMPORTING&lt;/P&gt;&lt;P&gt;                    im_name TYPE string&lt;/P&gt;&lt;P&gt;                    im_planetype TYPE saplane-planetype,&lt;/P&gt;&lt;P&gt;                  display_attributes.&lt;/P&gt;&lt;P&gt;    CLASS-METHODS: display_n_o_airplanes.&lt;/P&gt;&lt;P&gt;  PRIVATE SECTION.&lt;/P&gt;&lt;P&gt;    METHODS: get_technical_attributes&lt;/P&gt;&lt;P&gt;               IMPORTING im_type    TYPE saplane-planetype&lt;/P&gt;&lt;P&gt;               EXPORTING ex_weight  TYPE s_plan_wei&lt;/P&gt;&lt;P&gt;                         ex_tankcap TYPE s_capacity.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    DATA: name TYPE string,&lt;/P&gt;&lt;P&gt;          planetype TYPE saplane-planetype.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLASS-DATA: n_o_airplanes TYPE i.&lt;/P&gt;&lt;P&gt;ENDCLASS.                    "lcl_airplane DEFINITION&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&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;      CLASS lcl_airplane IMPLEMENTATION&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;*&lt;/P&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 lcl_airplane IMPLEMENTATION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  METHOD constructor.&lt;/P&gt;&lt;P&gt;    name      = im_name.&lt;/P&gt;&lt;P&gt;    planetype = im_planetype.&lt;/P&gt;&lt;P&gt;    n_o_airplanes = n_o_airplanes + 1.&lt;/P&gt;&lt;P&gt;  ENDMETHOD.                    "constructor&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  METHOD display_attributes.&lt;/P&gt;&lt;P&gt;    DATA: weight TYPE saplane-weight,&lt;/P&gt;&lt;P&gt;             cap TYPE saplane-tankcap.&lt;/P&gt;&lt;P&gt;    WRITE: / icon_ws_plane AS ICON,&lt;/P&gt;&lt;P&gt;           / 'Name of airplane', AT pos_1 name,&lt;/P&gt;&lt;P&gt;           / 'Airplane type:', AT pos_1 planetype.&lt;/P&gt;&lt;P&gt;    get_technical_attributes( EXPORTING im_type    = planetype&lt;/P&gt;&lt;P&gt;                              IMPORTING ex_weight  = weight&lt;/P&gt;&lt;P&gt;                                        ex_tankcap = cap ).&lt;/P&gt;&lt;P&gt;    WRITE: / 'Weight:', weight,&lt;/P&gt;&lt;P&gt;             'Tank capacity:', cap.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDMETHOD.                    "display_attributes&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  METHOD display_n_o_airplanes.&lt;/P&gt;&lt;P&gt;    WRITE: /,/ 'Number of airplanes:',AT pos_1 n_o_airplanes&lt;/P&gt;&lt;P&gt;                LEFT-JUSTIFIED, /.&lt;/P&gt;&lt;P&gt;  ENDMETHOD.                    "display_n_o_airplanes&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  METHOD get_technical_attributes.&lt;/P&gt;&lt;P&gt;    SELECT SINGLE weight&lt;/P&gt;&lt;P&gt;                  tankcap&lt;/P&gt;&lt;P&gt;             FROM saplane&lt;/P&gt;&lt;P&gt;             INTO (ex_weight, ex_tankcap)&lt;/P&gt;&lt;P&gt;            WHERE planetype = im_type.&lt;/P&gt;&lt;P&gt;    IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;      ex_weight = 100000.&lt;/P&gt;&lt;P&gt;      ex_tankcap = 10000.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDMETHOD.                    "get_technical_attributes&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDCLASS.                    "lcl_airplane IMPLEMENTATION&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&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;      CLASS lcl_cargo_plane DEFINITION&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;*&lt;/P&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 lcl_cargo_plane DEFINITION INHERITING FROM lcl_airplane.&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: constructor IMPORTING im_name TYPE string&lt;/P&gt;&lt;P&gt;                                   im_planetype TYPE saplane-planetype&lt;/P&gt;&lt;P&gt;                                   im_cargo TYPE scplane-cargomax.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    METHODS: display_attributes REDEFINITION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    METHODS: get_cargo RETURNING value(re_cargo) TYPE scplane-cargomax.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PRIVATE SECTION.&lt;/P&gt;&lt;P&gt;    DATA: max_cargo TYPE scplane-cargomax.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDCLASS.                    "lcl_cargo_plane DEFINITION&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&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;      CLASS lcl_cargo_plane IMPLEMENTATION&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;*&lt;/P&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 lcl_cargo_plane IMPLEMENTATION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  METHOD constructor.&lt;/P&gt;&lt;P&gt;    CALL METHOD super-&amp;gt;constructor( im_name = im_name&lt;/P&gt;&lt;P&gt;      im_planetype = im_planetype ).&lt;/P&gt;&lt;P&gt;    max_cargo = im_cargo.&lt;/P&gt;&lt;P&gt;  ENDMETHOD.                    "constructor&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  METHOD display_attributes.&lt;/P&gt;&lt;P&gt;    super-&amp;gt;display_attributes( ).&lt;/P&gt;&lt;P&gt;    WRITE: / 'Max Cargo = ', max_cargo.&lt;/P&gt;&lt;P&gt;    ULINE.&lt;/P&gt;&lt;P&gt;  ENDMETHOD.                    "display_attributes&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  METHOD get_cargo.&lt;/P&gt;&lt;P&gt;    re_cargo = max_cargo.&lt;/P&gt;&lt;P&gt;  ENDMETHOD.                    "get_cargo&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDCLASS.                    "lcl_cargo_plane IMPLEMENTATION&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&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;      CLASS lcl_passenger_plane DEFINITION&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;*&lt;/P&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 lcl_passenger_plane DEFINITION INHERITING FROM lcl_airplane.&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: constructor IMPORTING im_name      TYPE string&lt;/P&gt;&lt;P&gt;                                   im_planetype TYPE saplane-planetype&lt;/P&gt;&lt;P&gt;                                   im_seats     TYPE sflight-seatsmax.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    METHODS: display_attributes REDEFINITION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PRIVATE SECTION.&lt;/P&gt;&lt;P&gt;    DATA: max_seats TYPE sflight-seatsmax.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDCLASS.                    "lcl_passenger_plane DEFINITION&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&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;      CLASS lcl_passenger_plane IMPLEMENTATION&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;*&lt;/P&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 lcl_passenger_plane IMPLEMENTATION.&lt;/P&gt;&lt;P&gt;  METHOD constructor.&lt;/P&gt;&lt;P&gt;    CALL METHOD super-&amp;gt;constructor( EXPORTING im_name = im_name&lt;/P&gt;&lt;P&gt;                                         im_planetype = im_planetype ).&lt;/P&gt;&lt;P&gt;    max_seats = im_seats.&lt;/P&gt;&lt;P&gt;  ENDMETHOD.                    "constructor&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  METHOD display_attributes.&lt;/P&gt;&lt;P&gt;    super-&amp;gt;display_attributes( ).&lt;/P&gt;&lt;P&gt;    WRITE: / 'Max Seats = ', max_seats.&lt;/P&gt;&lt;P&gt;    ULINE.&lt;/P&gt;&lt;P&gt;  ENDMETHOD.                    "display_attributes&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDCLASS.                    "lcl_passenger_plane IMPLEMENTATION&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Edited by: Abhijeet Kulshreshtha on Jun 24, 2008 10:25 AM&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Edited by: Abhijeet Kulshreshtha on Jun 24, 2008 10:32 AM&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 24 Jun 2008 08:25:44 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2008-06-24T08:25:44Z</dc:date>
    <item>
      <title>Static and instance method or attribute</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/static-and-instance-method-or-attribute/m-p/4005703#M956936</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Guys,&lt;/P&gt;&lt;P&gt;          Can any body tell me with example at which scenario i can use static and instance method or attribute and  Please tell about polymorphism concept in ABAP Objects with example.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Edited by: Ragu Prasad on Jun 23, 2008 6:20 AM&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 23 Jun 2008 04:18:38 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/static-and-instance-method-or-attribute/m-p/4005703#M956936</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-06-23T04:18:38Z</dc:date>
    </item>
    <item>
      <title>Re: Static and instance method or attribute</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/static-and-instance-method-or-attribute/m-p/4005704#M956937</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;This message was moderated.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 23 Jun 2008 04:58:34 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/static-and-instance-method-or-attribute/m-p/4005704#M956937</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-06-23T04:58:34Z</dc:date>
    </item>
    <item>
      <title>Re: Static and instance method or attribute</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/static-and-instance-method-or-attribute/m-p/4005705#M956938</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Or you can look at the original fine article here: &lt;A href="http://beingkedar.googlepages.com/ooabapo.doc" target="test_blank"&gt;http://beingkedar.googlepages.com/ooabapo.doc&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;matt&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 23 Jun 2008 08:59:26 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/static-and-instance-method-or-attribute/m-p/4005705#M956938</guid>
      <dc:creator>matt</dc:creator>
      <dc:date>2008-06-23T08:59:26Z</dc:date>
    </item>
    <item>
      <title>Re: Static and instance method or attribute</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/static-and-instance-method-or-attribute/m-p/4005706#M956939</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;Static/Instance Method:&lt;/P&gt;&lt;P&gt;CLASS_CONSTRUCTOR is an example of a static method&lt;/P&gt;&lt;P&gt;CONSTRUCTOR is an example of instance method.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;When you want to have implementation of a method that can be called without the object of a class&lt;/P&gt;&lt;P&gt;the such methods are static. Static are basically used in util class. For example CL_HTTP_SERVER method  ESCAPE_URL&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;When you want to have implementation of a method that can be called with each instance of the class and the processing depends on some inputs then such are instance methods. For example in Class Car you can have a method FUEL_LEVEL. This method will give different ouput for different instances of the same class. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Static/Instance attribute:&lt;/P&gt;&lt;P&gt;Attribute that are at class level (commom to all objects for example class_name) are static&lt;/P&gt;&lt;P&gt;Attributes specific to an instance like in the above example color of the car.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Polymorphism:&lt;/P&gt;&lt;P&gt;There are 2 types of polymorphism:&lt;/P&gt;&lt;P&gt;1. Compile time (early binding) : Function overloading -&lt;/P&gt;&lt;HR originaltext="----" /&gt;&lt;P&gt;&amp;gt; not supported in abap&lt;/P&gt;&lt;P&gt;2. Run time (late binding) : Function overriding ---&amp;gt; works well in ABAP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I hope this gives you some idea.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Saurabh&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 23 Jun 2008 09:22:53 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/static-and-instance-method-or-attribute/m-p/4005706#M956939</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-06-23T09:22:53Z</dc:date>
    </item>
    <item>
      <title>Re: Static and instance method or attribute</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/static-and-instance-method-or-attribute/m-p/4005707#M956940</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hiii!&lt;/P&gt;&lt;P&gt;  Just try out this program. Open this program in debugging mode. Your doubts will be cleared. In this program, You can see I have used one internal table to store references to classes. In the LOOP-ENDLOOP statement I'm assigning the references of lcl_passenger and lcl_cargo to their superclass reference. thats where the polymorphism lies. In polymorphism,&lt;/P&gt;&lt;P&gt;Objects from different classes behave differently to same method call. try this example in debugging mode.&lt;/P&gt;&lt;P&gt;    Now static or class methods, exist once per class.&lt;/P&gt;&lt;P&gt;While the instance attribute exist once per object or instance&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT  YH1146_CLASS_CASTING.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPE-POOLS icon.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: r_plane TYPE REF TO lcl_airplane,&lt;/P&gt;&lt;P&gt;      r_cargo TYPE REF TO lcl_cargo_plane,&lt;/P&gt;&lt;P&gt;      r_passenger TYPE REF TO lcl_passenger_plane,&lt;/P&gt;&lt;P&gt;      plane_list TYPE TABLE OF REF TO lcl_airplane.&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;P&gt;lcl_airplane=&amp;gt;display_n_o_airplanes( ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CREATE OBJECT r_passenger EXPORTING&lt;/P&gt;&lt;P&gt;                            im_name      = 'LH BERLIN'&lt;/P&gt;&lt;P&gt;                            im_planetype = '747-400'&lt;/P&gt;&lt;P&gt;                            im_seats     = 345.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;APPEND r_passenger TO plane_list.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CREATE OBJECT r_cargo EXPORTING&lt;/P&gt;&lt;P&gt;                        im_name      = 'US Hercules'&lt;/P&gt;&lt;P&gt;                        im_planetype = '747-500'&lt;/P&gt;&lt;P&gt;                        im_cargo     = 533.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;APPEND r_cargo TO plane_list.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT plane_list INTO r_plane.&lt;/P&gt;&lt;P&gt;  r_plane-&amp;gt;display_attributes( ).&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;lcl_airplane=&amp;gt;display_n_o_airplanes( ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLASS lcl_airplane DEFINITION.&lt;/P&gt;&lt;P&gt;  PUBLIC SECTION.&lt;/P&gt;&lt;P&gt;    CONSTANTS: pos_1 TYPE i VALUE 30.&lt;/P&gt;&lt;P&gt;    METHODS:&lt;/P&gt;&lt;P&gt;      constructor IMPORTING&lt;/P&gt;&lt;P&gt;                    im_name TYPE string&lt;/P&gt;&lt;P&gt;                    im_planetype TYPE saplane-planetype,&lt;/P&gt;&lt;P&gt;                  display_attributes.&lt;/P&gt;&lt;P&gt;    CLASS-METHODS: display_n_o_airplanes.&lt;/P&gt;&lt;P&gt;  PRIVATE SECTION.&lt;/P&gt;&lt;P&gt;    METHODS: get_technical_attributes&lt;/P&gt;&lt;P&gt;               IMPORTING im_type    TYPE saplane-planetype&lt;/P&gt;&lt;P&gt;               EXPORTING ex_weight  TYPE s_plan_wei&lt;/P&gt;&lt;P&gt;                         ex_tankcap TYPE s_capacity.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    DATA: name TYPE string,&lt;/P&gt;&lt;P&gt;          planetype TYPE saplane-planetype.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLASS-DATA: n_o_airplanes TYPE i.&lt;/P&gt;&lt;P&gt;ENDCLASS.                    "lcl_airplane DEFINITION&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&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;      CLASS lcl_airplane IMPLEMENTATION&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;*&lt;/P&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 lcl_airplane IMPLEMENTATION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  METHOD constructor.&lt;/P&gt;&lt;P&gt;    name      = im_name.&lt;/P&gt;&lt;P&gt;    planetype = im_planetype.&lt;/P&gt;&lt;P&gt;    n_o_airplanes = n_o_airplanes + 1.&lt;/P&gt;&lt;P&gt;  ENDMETHOD.                    "constructor&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  METHOD display_attributes.&lt;/P&gt;&lt;P&gt;    DATA: weight TYPE saplane-weight,&lt;/P&gt;&lt;P&gt;             cap TYPE saplane-tankcap.&lt;/P&gt;&lt;P&gt;    WRITE: / icon_ws_plane AS ICON,&lt;/P&gt;&lt;P&gt;           / 'Name of airplane', AT pos_1 name,&lt;/P&gt;&lt;P&gt;           / 'Airplane type:', AT pos_1 planetype.&lt;/P&gt;&lt;P&gt;    get_technical_attributes( EXPORTING im_type    = planetype&lt;/P&gt;&lt;P&gt;                              IMPORTING ex_weight  = weight&lt;/P&gt;&lt;P&gt;                                        ex_tankcap = cap ).&lt;/P&gt;&lt;P&gt;    WRITE: / 'Weight:', weight,&lt;/P&gt;&lt;P&gt;             'Tank capacity:', cap.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDMETHOD.                    "display_attributes&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  METHOD display_n_o_airplanes.&lt;/P&gt;&lt;P&gt;    WRITE: /,/ 'Number of airplanes:',AT pos_1 n_o_airplanes&lt;/P&gt;&lt;P&gt;                LEFT-JUSTIFIED, /.&lt;/P&gt;&lt;P&gt;  ENDMETHOD.                    "display_n_o_airplanes&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  METHOD get_technical_attributes.&lt;/P&gt;&lt;P&gt;    SELECT SINGLE weight&lt;/P&gt;&lt;P&gt;                  tankcap&lt;/P&gt;&lt;P&gt;             FROM saplane&lt;/P&gt;&lt;P&gt;             INTO (ex_weight, ex_tankcap)&lt;/P&gt;&lt;P&gt;            WHERE planetype = im_type.&lt;/P&gt;&lt;P&gt;    IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;      ex_weight = 100000.&lt;/P&gt;&lt;P&gt;      ex_tankcap = 10000.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDMETHOD.                    "get_technical_attributes&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDCLASS.                    "lcl_airplane IMPLEMENTATION&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&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;      CLASS lcl_cargo_plane DEFINITION&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;*&lt;/P&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 lcl_cargo_plane DEFINITION INHERITING FROM lcl_airplane.&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: constructor IMPORTING im_name TYPE string&lt;/P&gt;&lt;P&gt;                                   im_planetype TYPE saplane-planetype&lt;/P&gt;&lt;P&gt;                                   im_cargo TYPE scplane-cargomax.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    METHODS: display_attributes REDEFINITION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    METHODS: get_cargo RETURNING value(re_cargo) TYPE scplane-cargomax.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PRIVATE SECTION.&lt;/P&gt;&lt;P&gt;    DATA: max_cargo TYPE scplane-cargomax.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDCLASS.                    "lcl_cargo_plane DEFINITION&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&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;      CLASS lcl_cargo_plane IMPLEMENTATION&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;*&lt;/P&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 lcl_cargo_plane IMPLEMENTATION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  METHOD constructor.&lt;/P&gt;&lt;P&gt;    CALL METHOD super-&amp;gt;constructor( im_name = im_name&lt;/P&gt;&lt;P&gt;      im_planetype = im_planetype ).&lt;/P&gt;&lt;P&gt;    max_cargo = im_cargo.&lt;/P&gt;&lt;P&gt;  ENDMETHOD.                    "constructor&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  METHOD display_attributes.&lt;/P&gt;&lt;P&gt;    super-&amp;gt;display_attributes( ).&lt;/P&gt;&lt;P&gt;    WRITE: / 'Max Cargo = ', max_cargo.&lt;/P&gt;&lt;P&gt;    ULINE.&lt;/P&gt;&lt;P&gt;  ENDMETHOD.                    "display_attributes&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  METHOD get_cargo.&lt;/P&gt;&lt;P&gt;    re_cargo = max_cargo.&lt;/P&gt;&lt;P&gt;  ENDMETHOD.                    "get_cargo&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDCLASS.                    "lcl_cargo_plane IMPLEMENTATION&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&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;      CLASS lcl_passenger_plane DEFINITION&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;*&lt;/P&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 lcl_passenger_plane DEFINITION INHERITING FROM lcl_airplane.&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: constructor IMPORTING im_name      TYPE string&lt;/P&gt;&lt;P&gt;                                   im_planetype TYPE saplane-planetype&lt;/P&gt;&lt;P&gt;                                   im_seats     TYPE sflight-seatsmax.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    METHODS: display_attributes REDEFINITION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PRIVATE SECTION.&lt;/P&gt;&lt;P&gt;    DATA: max_seats TYPE sflight-seatsmax.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDCLASS.                    "lcl_passenger_plane DEFINITION&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&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;      CLASS lcl_passenger_plane IMPLEMENTATION&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;*&lt;/P&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 lcl_passenger_plane IMPLEMENTATION.&lt;/P&gt;&lt;P&gt;  METHOD constructor.&lt;/P&gt;&lt;P&gt;    CALL METHOD super-&amp;gt;constructor( EXPORTING im_name = im_name&lt;/P&gt;&lt;P&gt;                                         im_planetype = im_planetype ).&lt;/P&gt;&lt;P&gt;    max_seats = im_seats.&lt;/P&gt;&lt;P&gt;  ENDMETHOD.                    "constructor&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  METHOD display_attributes.&lt;/P&gt;&lt;P&gt;    super-&amp;gt;display_attributes( ).&lt;/P&gt;&lt;P&gt;    WRITE: / 'Max Seats = ', max_seats.&lt;/P&gt;&lt;P&gt;    ULINE.&lt;/P&gt;&lt;P&gt;  ENDMETHOD.                    "display_attributes&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDCLASS.                    "lcl_passenger_plane IMPLEMENTATION&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Edited by: Abhijeet Kulshreshtha on Jun 24, 2008 10:25 AM&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Edited by: Abhijeet Kulshreshtha on Jun 24, 2008 10:32 AM&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 24 Jun 2008 08:25:44 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/static-and-instance-method-or-attribute/m-p/4005707#M956940</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-06-24T08:25:44Z</dc:date>
    </item>
    <item>
      <title>Re: Static and instance method or attribute</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/static-and-instance-method-or-attribute/m-p/4005708#M956941</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Ragu,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;To the first part of your question, the answer is,&lt;/P&gt;&lt;P&gt;we use instance method to represent different element in an object of a class and&lt;/P&gt;&lt;P&gt;to manipulate them we use various instance methods .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But, if you have any global scenario that is applicable to the whole class rather on a &lt;/P&gt;&lt;P&gt;specific object of the class we use static attributes and to manipulate them ,we use static methods&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You can check the following code.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT  z_oops.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;" Class cls definition----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLASS cls DEFINITION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PUBLIC SECTION.&lt;/P&gt;&lt;P&gt;    METHODS:&lt;/P&gt;&lt;P&gt;      add IMPORTING&lt;/P&gt;&lt;P&gt;          im_var1 TYPE i&lt;/P&gt;&lt;P&gt;          im_var2 TYPE i,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      display.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLASS-METHODS:&lt;/P&gt;&lt;P&gt;        display1 RETURNING&lt;/P&gt;&lt;P&gt;                 value(re_count) 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:&lt;/P&gt;&lt;P&gt;      w_var1   TYPE i,&lt;/P&gt;&lt;P&gt;      w_var2   TYPE i,&lt;/P&gt;&lt;P&gt;      w_result TYPE i.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLASS-DATA:&lt;/P&gt;&lt;P&gt;      w_count TYPE i .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDCLASS.                              "cls DEFINITION&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;" Class cls implementation----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLASS cls IMPLEMENTATION.&lt;/P&gt;&lt;P&gt;  METHOD add.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    w_var1 = im_var1.&lt;/P&gt;&lt;P&gt;    w_var2 = im_var2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    w_result = im_var1 + im_var2.&lt;/P&gt;&lt;P&gt;    &lt;/P&gt;&lt;P&gt;  ENDMETHOD.                           "add&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  METHOD display.&lt;/P&gt;&lt;P&gt;    WRITE:&lt;/P&gt;&lt;P&gt;      / w_var1,'+',w_var2,'=',w_result.&lt;/P&gt;&lt;P&gt;  ENDMETHOD.                           "display&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  METHOD display1.&lt;/P&gt;&lt;P&gt;    WRITE: /'welcome to class method.'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ADD 1 TO w_count.&lt;/P&gt;&lt;P&gt;    re_count = w_count.&lt;/P&gt;&lt;P&gt;    &lt;/P&gt;&lt;P&gt;     &lt;/P&gt;&lt;P&gt;    WRITE: 'No of object created= ',re_count.&lt;/P&gt;&lt;P&gt;  ENDMETHOD.                                                "display1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDCLASS.                              "cls IMPLEMENTATION&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*" Data  declaration&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PARAMETERS:&lt;/P&gt;&lt;P&gt;  p_var1 TYPE i,&lt;/P&gt;&lt;P&gt;  p_var2 TYPE i.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:&lt;/P&gt;&lt;P&gt;  ref1 TYPE REF TO cls,&lt;/P&gt;&lt;P&gt;  ref2 TYPE REF TO cls,&lt;/P&gt;&lt;P&gt;  ref3 TYPE REF TO cls.&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;P&gt;  CREATE OBJECT ref1.&lt;/P&gt;&lt;P&gt;  cls=&amp;gt;display1( ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CREATE OBJECT ref2.&lt;/P&gt;&lt;P&gt;  cls=&amp;gt;display1( ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CREATE OBJECT re31.&lt;/P&gt;&lt;P&gt;  cls=&amp;gt;display1( ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ref1-&amp;gt;add( im_var1 = p_var1&lt;/P&gt;&lt;P&gt;             im_var2 = p_var2 ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ref1-&amp;gt;display( ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here, add and display are the instance methods and are triggered by the object of the class.&lt;/P&gt;&lt;P&gt;However,in OO concept of ABAP, there is no mechanism to calculate the no. of object created in a class.&lt;/P&gt;&lt;P&gt;Since, no. of object is to be calculated in the global level, you can manipulate it by using static data w_count and static function display1(  ) and call it after creating each object.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;i am working with Polymorphism with simple code now. Will get to you soon&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Reward if helpful.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;All the best.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Anirban Bhattacharjee&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 24 Jun 2008 14:23:13 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/static-and-instance-method-or-attribute/m-p/4005708#M956941</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-06-24T14:23:13Z</dc:date>
    </item>
    <item>
      <title>Re: Static and instance method or attribute</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/static-and-instance-method-or-attribute/m-p/4005709#M956942</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi, &lt;/P&gt;&lt;P&gt;welcome to SDN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Its not at all permitted to post code on SDN.&lt;/P&gt;&lt;P&gt;You can check these links to further strenthen your concept.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;[http://help.sap.com/saphelp_nw70/helpdata/EN/c3/225b5c54f411d194a60000e8353423/content.htm]&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;hope this will help.&lt;/P&gt;&lt;P&gt;Reward if useful.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Sumit Agarwal&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 28 Jun 2008 10:11:08 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/static-and-instance-method-or-attribute/m-p/4005709#M956942</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-06-28T10:11:08Z</dc:date>
    </item>
  </channel>
</rss>

