Skip to Content

RE:ABAP objects

Hi all,

What is the purpose for

interface........endinterface.

What do u mean by

CLASS-DATA team TYPE bikes_team.

pls explain with an example.

Thanks in advance.

Add a comment
10|10000 characters needed characters exceeded

Assigned Tags

Related questions

3 Answers

  • Best Answer
    author's profile photo Former Member
    Former Member
    Posted on Jan 28, 2008 at 09:02 AM

    (a)

    Interfaces are used to define only the framework of a object, but do not contain any implementation.

    A local interface (one that is not saved in the dictionary but is defined in the coding) must be coded within the INTERFACE .. ENDINTERFACE tags.

    The interface can be enhanced with definition in the classes that implement them. Also interfaces are used to simulate multiple inheritance, which otherwise is not possible using classes themselves.

    eg:

    INTERFACE lif_document.

    DATA: author TYPE REF TO lcl_author.

    METHODS: print,

    display.

    ENDINTERFACE.

    CLASS lcl_text_document DEFINITION.

    PUBLIC SECTION.

    INTERFACES lif_document.

    METHODS: display.

    ENDCLASS.

    CLASS lcl_text_document IMPLEMENTATION.

    METHOD lif_document~print.

    ENDMETHOD.

    METHOD lif_document~display.

    ENDMETHOD.

    METHOD display.

    ENDMETHOD.

    ENDCLASS.

    (b)

    Class data are used to define static attributes.

    Static attributes exist once only for each class and are visible for all (runtime) instances in that class.

    Static attributes usually contain information that is common to all instances, such as:

    - Data that is the same in all instances

    - Administrative information about the instances in that class (for example, counters and so on)

    Static attributes are defined using the CLASS-DATA keyword.

    So, when you code

    CLASS-DATA team TYPE bikes_team.

    You are defining a static attribute "team" which is of the local type or the dictionary type "bikes_team".

    Add a comment
    10|10000 characters needed characters exceeded

  • author's profile photo Former Member
    Former Member
    Posted on Jan 28, 2008 at 09:34 AM

    hi,

    What is the purpose for

    interface........endinterface.

    Inheritance should be used to implement generalization and specialization relationships. A superclass is a

    generalization of its subclasses. The subclass in turn is a specialization of its superclasses.

    However, you can simulate multiple inheritance in ABAP Objects using interfaces

    In ABAP Objects, interfaces are implemented in addition to and independently of classes. Interfaces

    exclusively describe the external point of contact of a class, but they do not contain their own

    implementation part.

    Interfaces are usually defined by a user. The user describes in the interface which services (technical and

    semantic) it needs in order to carry out a task. The user never actually knows the providers, but

    communicates with them through the interface. In this way the user is protected from actual

    implementations and can work in the same way with different classes/objects, as long as they provide the

    services required (this is polymorphism using interfaces).

    INTERFACE lif_document.

    DATA: author TYPE REF TO lcl_author.

    METHODS: print,

    display.

    ENDINTERFACE.

    Interface only has a declaration

    An interface corresponds to an abstract class that only contains abstract methods

    Interfaces are implemented in classes

    Interfaces do not have visibility sections

    Hope this is helpful, Do reward.

    Add a comment
    10|10000 characters needed characters exceeded

  • author's profile photo Former Member
    Former Member
    Posted on Jan 29, 2008 at 05:51 AM

    Hi, this may help you.

    Classes and Interfaces

    This section describes the definition of classes and interfaces and of their components. Classes and interfaces form the basis for ABAP Objects, the object-oriented part of the ABAP language. Classes and interfaces can be defined in ABAP programs of the following program types:

    In a class pool, you use the Class Builder tool of the ABAP Workbench to define exactly one global class of the class library, which can then be used in all other ABAP programs. In the global declaration section of a class pool, you can individually define local data types, classes and interfaces to tbe used in the class pool and make type groups known. Apart from the TYPES and TYPE-POOLS statements, in class pools no other statements are allowed outside of classes and interfaces.

    In an interface pool, you use the Class Builder tool of the ABAP Workbench to define exactly one global interface of the class library to be used in all other ABAP programs. In the global declaration section of an interface pool, you are not allowed to define local data types, classes and interfaces. You can declare type groups. Apart from the statement TYPE-POOLS, in interface pools no other statements are allowed outside of the global interfaces.

    In all other ABAP programs, except type groups, you can define local classes and interfaces to be used in the program itself.

    Apart from the TYPES and TYPE-POOLS statements, in class and interface pools no other statements are allowed outside of CLASS - ENDCLASS or INTERFACE - ENDINTERFACE.

    class-data

    class-data is used for static data variables.

    => used for accessing static data.staticdata is constant througout the program.static classes containsonly static variables.

    Reward If Helpful.

    Add a comment
    10|10000 characters needed characters exceeded

Before answering

You should only submit an answer when you are proposing a solution to the poster's problem. If you want the poster to clarify the question or provide more information, please leave a comment instead, requesting additional details. When answering, please include specifics, such as step-by-step instructions, context for the solution, and links to useful resources. Also, please make sure that you answer complies with our Rules of Engagement.
You must be Logged in to submit an answer.

Up to 10 attachments (including images) can be used with a maximum of 1.0 MB each and 10.5 MB total.