This document provides an overview of object-oriented programming concepts in ABAP, including:
- Defining classes in ABAP with attributes and methods
- Creating objects from classes and assigning references
- Using constructors to initialize objects
- Inheritance relationships between classes
It discusses these concepts over the course of several examples written in ABAP code.
Interface in java By Dheeraj Kumar Singhdheeraj_cse
In Java,
An interface is a way through which unrelated objects use to interact with one another.
Using interface, you can specify what a class must do, but not how it does it.
It is not a class but a set of requirements for classes that implement the interface.
Interface in java By Dheeraj Kumar Singhdheeraj_cse
In Java,
An interface is a way through which unrelated objects use to interact with one another.
Using interface, you can specify what a class must do, but not how it does it.
It is not a class but a set of requirements for classes that implement the interface.
What are Abstract Classes in Java | EdurekaEdureka!
YouTube Link: https://youtu.be/5X0Y--92pMI
**Java, J2EE & SOA Certification Training - https://www.edureka.co/java-j2ee-training-course **
This Edureka PPT on Abstract Classes in Java will provide you with detailed knowledge about Abstract Classes in Java and along with it, This PPT will also cover some examples of Abstract Classes in Java, in order to provide you with a deep understanding about their functionality. This PPT will cover the following topics:
What are Abstract Classes in Java?
Why do we need an Abstract Classes in Java?
Rules for using Abstract Classes in Java
Ways to achieve Abstraction in Java
The Syntax for Abstract Classes
Practical Examples of Abstract Classes
Difference between Interface and Abstract Class
Complete Java Playlist: http://bit.ly/2XcYNH5
Complete Blog Series: http://bit.ly/2YoabkT
Follow us to never miss an update in the future.
YouTube: https://www.youtube.com/user/edurekaIN
Instagram: https://www.instagram.com/edureka_learning/
Facebook: https://www.facebook.com/edurekaIN/
Twitter: https://twitter.com/edurekain
LinkedIn: https://www.linkedin.com/company/edureka
Castbox: https://castbox.fm/networks/505?country=in
Ideal for learning the basics of java, and can also be used as a school project for class 10 and 12. The document contains illustrative pictures, and carefully selected information to make the basics of java strong. Pls ignore small spelling mistakes made.
Programming Fundamentals With OOPs Concepts (Java Examples Based)indiangarg
This presentation gives you various types of programming models, A clear concept of object oriented languages, Classes and Object Concept, Different types of programming paradigms, program tokens, statements, expressions, Concepts of Inheritance, Encapsulation, Abstraction, Polymorphism, Interface etc.
What are Abstract Classes in Java | EdurekaEdureka!
YouTube Link: https://youtu.be/5X0Y--92pMI
**Java, J2EE & SOA Certification Training - https://www.edureka.co/java-j2ee-training-course **
This Edureka PPT on Abstract Classes in Java will provide you with detailed knowledge about Abstract Classes in Java and along with it, This PPT will also cover some examples of Abstract Classes in Java, in order to provide you with a deep understanding about their functionality. This PPT will cover the following topics:
What are Abstract Classes in Java?
Why do we need an Abstract Classes in Java?
Rules for using Abstract Classes in Java
Ways to achieve Abstraction in Java
The Syntax for Abstract Classes
Practical Examples of Abstract Classes
Difference between Interface and Abstract Class
Complete Java Playlist: http://bit.ly/2XcYNH5
Complete Blog Series: http://bit.ly/2YoabkT
Follow us to never miss an update in the future.
YouTube: https://www.youtube.com/user/edurekaIN
Instagram: https://www.instagram.com/edureka_learning/
Facebook: https://www.facebook.com/edurekaIN/
Twitter: https://twitter.com/edurekain
LinkedIn: https://www.linkedin.com/company/edureka
Castbox: https://castbox.fm/networks/505?country=in
Ideal for learning the basics of java, and can also be used as a school project for class 10 and 12. The document contains illustrative pictures, and carefully selected information to make the basics of java strong. Pls ignore small spelling mistakes made.
Programming Fundamentals With OOPs Concepts (Java Examples Based)indiangarg
This presentation gives you various types of programming models, A clear concept of object oriented languages, Classes and Object Concept, Different types of programming paradigms, program tokens, statements, expressions, Concepts of Inheritance, Encapsulation, Abstraction, Polymorphism, Interface etc.
C++ is computer programming language.It is very important computer programming language.C++ is easy to understand but it need a lot practice and hardworking.Classes and Objects are the most important topics in C++ and it is necessary to understand it.Similarly the use of Constructors is also very important to understand to learn C++These are descriptive and easy slides about Classes in C++.By studying these slides I strongly believe that you can clear your concepts.If you are in doubt and uncleared about Classes in C++ ,then you are at the right place.Read the whole slides and make your concepts clear.
Object-oriented programming (OOP) with Complete understanding modulesDurgesh Singh
Object-oriented programming (OOP) is the core ingredient of the .NET framework. OOP is so important that, before embarking on the road to .NET, you must understand its basic principles and terminology to write even a simple program. The fundamental idea behind OOP is to combine into a single unit both data and the methods that operate on that data; such units are called an object. All OOP languages provide mechanisms that help you implement the object-oriented model. They are encapsulation, inheritance, polymorphism and reusability. Let's now take a brief look at these concepts.
Object Oriented Programming For Engineering Students as well as for B.Tech -IT. Covers Almost All From The Basics.
For more:
Google Search:: Prabhaharan Ellaiyan
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Tobias Schneck
As AI technology is pushing into IT I was wondering myself, as an “infrastructure container kubernetes guy”, how get this fancy AI technology get managed from an infrastructure operational view? Is it possible to apply our lovely cloud native principals as well? What benefit’s both technologies could bring to each other?
Let me take this questions and provide you a short journey through existing deployment models and use cases for AI software. On practical examples, we discuss what cloud/on-premise strategy we may need for applying it to our own infrastructure to get it to work from an enterprise perspective. I want to give an overview about infrastructure requirements and technologies, what could be beneficial or limiting your AI use cases in an enterprise environment. An interactive Demo will give you some insides, what approaches I got already working for real.
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
Let's dive deeper into the world of ODC! Ricardo Alves (OutSystems) will join us to tell all about the new Data Fabric. After that, Sezen de Bruijn (OutSystems) will get into the details on how to best design a sturdy architecture within ODC.
UiPath Test Automation using UiPath Test Suite series, part 3DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 3. In this session, we will cover desktop automation along with UI automation.
Topics covered:
UI automation Introduction,
UI automation Sample
Desktop automation flow
Pradeep Chinnala, Senior Consultant Automation Developer @WonderBotz and UiPath MVP
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
Are you looking to streamline your workflows and boost your projects’ efficiency? Do you find yourself searching for ways to add flexibility and control over your FME workflows? If so, you’re in the right place.
Join us for an insightful dive into the world of FME parameters, a critical element in optimizing workflow efficiency. This webinar marks the beginning of our three-part “Essentials of Automation” series. This first webinar is designed to equip you with the knowledge and skills to utilize parameters effectively: enhancing the flexibility, maintainability, and user control of your FME projects.
Here’s what you’ll gain:
- Essentials of FME Parameters: Understand the pivotal role of parameters, including Reader/Writer, Transformer, User, and FME Flow categories. Discover how they are the key to unlocking automation and optimization within your workflows.
- Practical Applications in FME Form: Delve into key user parameter types including choice, connections, and file URLs. Allow users to control how a workflow runs, making your workflows more reusable. Learn to import values and deliver the best user experience for your workflows while enhancing accuracy.
- Optimization Strategies in FME Flow: Explore the creation and strategic deployment of parameters in FME Flow, including the use of deployment and geometry parameters, to maximize workflow efficiency.
- Pro Tips for Success: Gain insights on parameterizing connections and leveraging new features like Conditional Visibility for clarity and simplicity.
We’ll wrap up with a glimpse into future webinars, followed by a Q&A session to address your specific questions surrounding this topic.
Don’t miss this opportunity to elevate your FME expertise and drive your projects to new heights of efficiency.
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
Keynote at DIGIT West Expo, Glasgow on 29 May 2024.
Cheryl Hung, ochery.com
Sr Director, Infrastructure Ecosystem, Arm.
The key trends across hardware, cloud and open-source; exploring how these areas are likely to mature and develop over the short and long-term, and then considering how organisations can position themselves to adapt and thrive.
JMeter webinar - integration with InfluxDB and GrafanaRTTS
Watch this recorded webinar about real-time monitoring of application performance. See how to integrate Apache JMeter, the open-source leader in performance testing, with InfluxDB, the open-source time-series database, and Grafana, the open-source analytics and visualization application.
In this webinar, we will review the benefits of leveraging InfluxDB and Grafana when executing load tests and demonstrate how these tools are used to visualize performance metrics.
Length: 30 minutes
Session Overview
-------------------------------------------
During this webinar, we will cover the following topics while demonstrating the integrations of JMeter, InfluxDB and Grafana:
- What out-of-the-box solutions are available for real-time monitoring JMeter tests?
- What are the benefits of integrating InfluxDB and Grafana into the load testing stack?
- Which features are provided by Grafana?
- Demonstration of InfluxDB and Grafana using a practice web application
To view the webinar recording, go to:
https://www.rttsweb.com/jmeter-integration-webinar
Neuro-symbolic is not enough, we need neuro-*semantic*Frank van Harmelen
Neuro-symbolic (NeSy) AI is on the rise. However, simply machine learning on just any symbolic structure is not sufficient to really harvest the gains of NeSy. These will only be gained when the symbolic structures have an actual semantics. I give an operational definition of semantics as “predictable inference”.
All of this illustrated with link prediction over knowledge graphs, but the argument is general.
11. UML Class Diagram A class diagram describes all static relationships between the classes. There are two basic forms of static relationships: Association In this example: A customer books a car at a rental car company. Generalization / Specialization In this example: A car, a bus, and a truck are all vehicles.
12.
13.
14.
15. Class Definition : Example REPORT EXAMPLE01 . * Class Definitions. CLASS lcl_airplane DEFINITION. PUBLIC SECTION. DATA: name type string, weight type i, carrier type string. METHODS: add_airplane, display_airplane, ENDCLASS. * * Class Implementations. * CLASS lcl_airplane IMPLEMENTATION. METHOD add_airplane. . . . ENDMETHOD. METHOD display_airplane. . . . ENDMETHOD. ENDCLASS.
19. Class Methods : Example REPORT EXAMPLE02. CLASS lcl_airplane DEFINITION. PUBLIC SECTION. DATA: name type string, weight type i, carrier type string. METHODS: init_airplane importing iname type string iweight type i, display_airplane. ENDCLASS. CLASS lcl_airplane IMPLEMENTATION. METHOD init_airplane. name = iname. weight = iweight. carrier = ‘LH’. ENDMETHOD. METHOD display_airplane. write:/ ‘name :', name. ENDMETHOD. ENDCLASS.
20.
21. Creating Objects : Example REPORT EXAMPLE03. CLASS lcl_airplane DEFINITION. PUBLIC SECTION. DATA: . . . METHODS: . . . ENDCLASS. CLASS lcl_airplane IMPLEMENTATION. METHOD init_airplane. . . . ENDMETHOD. METHOD display_airplane. . . . ENDMETHOD. ENDCLASS. START-OF-SELECTION. DATA : airplane1 TYPE REF to lcl_airplane, airplane2 TYPE REF to lcl_airplane. CREATE OBJECT airplane1. CREATE OBJECT airplane2. CALL METHOD airplane1->init_airplane exporting iname = ‘DC40’ iweight = 3500. CALL METHOD airplane1->display_airplane.
22. Assigning References In the previous example, the CREATE OBJECT statement creates an object in the main memory. If the following statement is added after the objects have been created : airplane1 = airplane2 The reference variables will be assigned to each other. Once it has been assigned, airplane1 points to the same object as reference airplane2.
23.
24. Constructors : Example REPORT EXAMPLE04. CLASS lcl_airplane DEFINITION. PUBLIC SECTION. DATA: name type string, weight type i, carrier type string. METHODS: constructor importing icarrier type string. ENDCLASS. CLASS lcl_airplane IMPLEMENTATION. METHOD constructor. Carrier = icarrier. ENDMETHOD. ENDCLASS. START-OF-SELECTION. DATA : airplane1 TYPE REF to lcl_airplane, airplane2 TYPE REF to lcl_airplane. CREATE OBJECT airplane1 exporting icarrier = ‘LH’. CREATE OBJECT airplane2 exporting icarrier = ‘QA’.
25.
Editor's Notes
Data and functions are usually kept separate in the procedural programming model. Generally, global variables for a program contain data, subroutines contain functions. Essentially, every subprogram can access every variable. This means that the programming model itself does not support consistent access to some related parts of the data.
A typical procedural ABAP program consists of type definitions and data declarations, which describe the structure of the data the program uses when it is executed. Modularization units, for example, subroutines or function modules can be encapsulated. However, on the main program level, there is no special protection for the data objects. Any variables can be accessed by any means.
Object orientation focuses on objects that represent either abstract or concrete things in the real world. They are first viewed in terms of their characteristics, which are mapped using the object’s internal structure and attributes (data). The behavior of an object is described through methods and events (functionality). Objects form capsules containing the data itself and the behavior of that data. Objects should enable you to draft a software solution that is a one-to-one mapping of the real-life problem area.
Object orientation focuses on objects that represent either abstract or concrete things in the real world. They are first viewed in terms of their characteristics, which are mapped using the object’s internal structure and attributes (data). The behavior of an object is described through methods and events (functionality). Objects form capsules containing the data itself and the behavior of that data. Objects should enable you to draft a software solution that is a one-to-one mapping of the real-life problem area.
ABAP Objects is not a new language, but has been designed as a systematic extension of ABAP. All of the extensions, including the old procedural parts, are upwardly compatible. Type checks in the object-oriented contexts of ABAP Objects are stricter than those in the procedural contexts. In developing ABAP Objects, the ABAP language was cleaned up, in particular in the object-oriented contexts. This means that obsolete statements lead to syntax errors. However, it is also advisable to avoid obsolete statements in the purely procedural environment, as this creates source texts that are safer and more flexible. Nevertheless, as the language is upwardly compatible, it is not possible to prevent the use of such statements entirely.
Consistency throughout the software development process The “language” used in the various phases of software development (analysis, specification, design and implementation) is uniform. The ideal would be for changes made during the implementation phase to flow back into the design automatically. Encapsulation Encapsulation means that the implementation of an object is hidden from other components in the system, so that they cannot make assumptions about the internal status of the object and therefore dependencies on specific implementations do not arise. Polymorphism Polymorphism (ability to have multiple forms) in the context of object technology signifies that objects in different classes have different reactions to the same message. Inheritance Inheritance defines the implementation relationship between classes, in which one class (the subclass) shares the structure and the behavior defined in one or more other classes (superclasses). Note: ABAP Objects only allows single inheritance.
UML (Unified Modeling Language) is a standardized modeling language. It is used for the specification, construction, visualization and documentation of models for software systems and enables uniform communication between various users. UML does not describe the steps in the object-oriented development process. UML is an industry standard and has been standardized by the OMG (Object Management Group) since September 1997 as UML Version 1.1. The members of the OMG are continuously developing it further. SAP uses UML as the company-wide standard for object-oriented modeling. You can find the UML specifications on the OMG homepage at: http://www.omg.org
A class is represented by a rectangle in UML notation. First, the class’s name is given, then its attributes, and finally its methods. However, you also have the option of omitting the attribute part and/or the method part. Attributes describe the data that can be stored in the objects of a class. They also determine the status of an object. Methods describe the functions that an object can perform. They therefore determine the object’s behavior.
A class diagram describes all static relationships between the classes. There are two basic forms of static relationships: Association In this example: A customer books a car at a rental car company. Generalization / Specialization In this example: A car, a bus, and a truck are all vehicles. Note: As mentioned previously, classes can also be shown in class diagrams with their attributes and methods. Here, these have been left out to improve clarity.
The object in the above model has two layers: an outer shell and an inner core. Users can only see the outer shell, while the inner core remains hidden (the internal status of an object can only be seen within the object itself). Public components (outer shell): the outer shell contains the components of the object that are visible to users, such as attributes (data), methods (functions) and events. All users have direct access to these components. The public components of an object form its external point of contact. Private components (inner core): the components of the inner core (attributes, methods and events) are only visible within the object itself. The attributes of an object are generally private. These private attributes of an object can only be accessed using the methods of that object itself. Why are the private components of an object “hidden”? This principle is called “information hiding” or “encapsulation” and is used to protect the user. Let us assume that an object changes its private components, while its external point of contact remains unchanged. Any user who simply needs to access the object’s external point of contact can carry on working with the object as usual. The user does not notice the change. However, if an object changes its public components, then any user who accesses these public components must take these changes into account.
In the real world, there are objects, such as various airplanes and plane tickets. Some of these objects are very similar, that is, they can be described using the same attributes or characteristics and provide the same functions. Similar objects are grouped together in classes. Each class is described once, and each object is then created in accordance with this blueprint. A class is therefore a description of a quantity of objects characterized by the same structure and the same behavior. An object is a concrete example of a class, the airplane class is a description of the objects LH Munich, LH New York etc.. Objects that belong to the same class have the same attributes and can be accessed using the same methods. There is only one of each class within a software system, but each class can contain several objects.
A class is a description of a number of objects that have the same structure and the same behavior. A class is therefore like a blueprint, in accordance with which all objects in that class are created. The components of the class are defined in the definition part. The components are attributes, methods, events, constants, types and implemented interfaces. Only methods are implemented in the implementation part. The CLASS statement cannot be nested, that is, you cannot define a class within a class.
Note the sections within the Class definition . ABAP Objects supports three visibility sections in a class : PUBLIC : All components in this section are public and can be addressed by all users and methods. They form the external interface of the class. PROTECTED : The components of this section are protected and can be addressed by the methods of subclasses (inheritance) and methods of the class itself. PRIVATE : Components of this section are private and can only be used in the methods of the class itself.
In classes, you can only use the TYPE addition to refer to data types . You can only use the LIKE reference for local data objects . The READ-ONLY addition means that a public attribute that was declared with DATA can be read from outside, but can only be changed by methods in the same class. You can currently only use the READ-ONLY addition in the public visibility section (PUBLIC SECTION) of a class declaration or in an interface definition. Using TYPE REF TO, an attribute can be typed as any reference.
Methods are internal procedures in classes that determine the behavior of the objects. They can access all attributes in their class and can therefore change the state of other elements. Methods have a signature (interface parameters and exceptions) that enables them to receive values when they are called and pass values back to the calling program. Methods can have any number of IMPORTING, EXPORTING, and CHANGING parameters. All parameters can be passed by value or reference.
In ABAP Objects, methods can have IMPORTING, EXPORTING, CHANGING and RETURNING parameters as well as EXCEPTIONS. All parameters can be passed by value or reference. You can define a return code for methods using RETURNING. You can only do this for a single parameter, which additionally must be passed as a value. Also, you cannot then define EXPORTING and CHANGING parameters. You can define functional methods using the RETURNING parameter (explained in more detail below). All input parameters (IMPORTING, CHANGING parameters) can be defined as optional parameters in the declaration using the OPTIONAL or DEFAULT additions. These parameters then do not necessarily have to be passed when the object is called. If you use the OPTIONAL addition, the parameter remains initialized according to type, whereas the DEFAULT addition allows you to enter a start value.
A class contains the generic description of an object. It describes all the characteristics that are common to all the objects in that class. During the program runtime, the class is used to create specific objects (instances). This process is called instantiation. Example: The object LH Berlin is created during runtime in the main memory by instantiation from the lcl_airplane class. The lcl_airplane class itself does not exist as an independent runtime object in ABAP Objects. Realization: Objects are instantiated using the statement: CREATE OBJECT. During instantiation, the runtime environment dynamically requests main memory space and assigns it to the object.
Reference variables can also be assigned to each other. The above example shows that once it has been assigned, airplane1 points to the same object as reference airplane2. As soon as no more references point to an object, the Garbage Collector removes it from the memory. The Garbage Collector is a system routine that automatically deletes objects that can no longer be addressed from the main memory and releases the memory space they occupied.
The constructor is a special (instance) method in a class and is always named CONSTRUCTOR. The following rules apply: Each class has exactly one constructor. The constructor does not need to be defined if no implementation is defined. The constructor is automatically called during runtime within the CREATE OBJECT statement. If you need to implement the constructor, then you must define and implement it in the PUBLIC SECTION. When EXCEPTIONS are triggered in the constructor, instances are not created (as of 4.6a), so no main memory space is taken up. You need to implement the constructor when, for example You need to allocate (external) resources You need to initialize attributes that cannot be covered by the VALUE supplement to the DATA statement You need to modify static attributes You cannot normally call the constructor explicitly.
Inheritance is a relationship in which one class (the subclass) inherits all the main characteristics of another class (the superclass). The subclass can also add new components (attributes, methods, and so on) and replace inherited methods with its own implementations. Inheritance is an implementation relationship that emphasizes similarities between classes. In the example above, the similarities between the passenger plane and cargo plane classes are extracted to the airplane superclass. This means that common components are only defined/implemented in the superclass and are automatically present in the subclasses. The inheritance relationship is often described as an “is-a” relationship: a passenger plane is an airplane.