✒️ABAP Introducción a la Programación Orientada a Objetos
ABAP Introducción a la Programación Orientada a Objetos
Introduction to Object-Oriented Programming (OOP)
What is Object-Oriented Programming?
Object-Oriented Programming (OOP) is a method of software development based on the behavior of objects in the real world.
OOP, as a programming paradigm, is not limited to a single language or technology; it's a way of programming with its own advantages and disadvantages, just like any other method. Adopting OOP changes the way we think when writing code. We introduce new concepts such as attributes, properties, methods, and more.
In the context of ABAP, ABAP Objects are a set of object-oriented statements introduced in ABAP since version 4.0. It builds upon traditional ABAP, extending it, and is compatible with the classic model. Both models can coexist within a program seamlessly.
Since OOP arrived in ABAP later than in other object-oriented languages like C++ or Java, some OOP concepts that proved to be of little use over time were omitted in ABAP. Meanwhile, ABAP has incorporated useful elements that other OOP languages do not support.
How do we think in OOP?
Thinking in terms of objects is akin to how we operate in the real world. Object-oriented programs utilize many objects to achieve their goals, considering the programs themselves as objects.
Key Concepts of OOP
- Object: It's simply a portion of source code that contains data and provides services. Objects model real-world objects or entities. We can think of an object as the representation of something, containing everything necessary to abstract it. Data constitutes the object's attributes, while the services it offers are called methods. Typically, methods operate on the object's private data, which they are usually the only ones authorized to modify.
- Class: It's a set of objects that have the same structure and behavior. A class is essentially a block of code that defines all related elements. A class consists of attributes, which are the object's characteristics, methods, which are the mechanisms or services the object offers, and events, which are situations affecting the object's behavior.
- Instance: It's an object of a specific class generated at runtime. If a class is equivalent to the definition of an object, an instance is a real object. Each time we create a new instance, it inherits the attributes, methods, and events of the class, yet each instance is an independent object. This leads to the following advantages:
Any changes made to a class automatically affect all instances of the class.
Being independent instances, they can be treated individually without affecting others, providing great versatility and flexibility to the code.
Main Advantages of OOP
- Systems of great complexity become easier to understand.
- In well-designed systems with object orientation, changes can be made at the class level without having to modify other points, reducing the total maintenance cost.
- Through inheritance and polymorphism, individual components can be reused.
- It enables the detection and correction of many problems at the design stage.
- Teamwork is facilitated as multiple developers can work simultaneously on different components of the same project.
Main Disadvantages of OOP
- Limitations for the programmer.
- Many programmers are not familiar with OOP, as it requires a logic quite different from that used in structured programming.
- Excessive software size.
- When creating classes from existing classes, all members of the class are implicitly inherited, even if not all are necessary, leading to large software, which may cause issues in execution on resource-limited systems.
- Execution speed is slower than in other paradigms.
 
 
 
Sobre el autor
Publicación académica de Jaime Eduardo Gomez Arango, en su ámbito de estudios para la Carrera Consultor ABAP.
Jaime Eduardo Gomez Arango
Profesión: Ingeniero de Sistemas y Computaci?n - Espa?a - Legajo: SW34C
✒️Autor de: 149 Publicaciones Académicas
🎓Egresado de los módulos:
- Carrera Consultor en SAP Fiori
- Carrera Consultor ABAP Nivel Avanzado
- Carrera Consultor ABAP Nivel Inicial
Disponibilidad Laboral: FullTime
Presentación:
Ingeniero de sistemas y computaci?n con 8 a?os de experiencia el desarrollo frontend & backend (react/node) y en cloud (aws), actualmente desarrollando habilidades en sap btp, ui5, abap y fiori.
Certificación Académica de Jaime Gomez