✒️ABAP / Las propiedades de la programación orientada a objetos Por Lisimaco Prieto Herrera

Selector Alummnos / Empresas

CVOSOFT UNITED STATES OF AMERICA | 17 años de ingeniería dedicados a formación profesional de Consultores SAP | +info

ABAP Las propiedades de la programación orientada a objetos

ABAP Las propiedades de la programación orientada a objetos

Las propiedades de la programación orientada a objetos

Existen 3 propiedades fundamentales que presentan los objetos. Ellas son:

Encapsulación

Herencia

Polimorfismo

A continuación veremos en detalle cada una de ellas.

La Encapsulación

También conocida como ocultamiento, se refiere a que todos los objetos restringen la visibilidad de sus recursos (atributos y métodos) al resto de los usuarios.

Las 3 áreas de visibilidad (pública, privada y protegida) son la base de la encapsulación.

Cada objeto posee una interfase que determina la manera de interactuar con él. La implementación del objeto (su interior) es encapsulada, lo que quiere decir que desde fuera el objeto es invisible, simplemente se usa.

Cuando se define una clase hay que tener mucho cuidado en el diseño de los componentes públicos, intentando declarar tan pocos como sea posible. Los componentes públicos de las clases globales no pueden ser cambiados una vez que se ha liberado la clase.

Por ejemplo, los atributos públicos son visibles externamente y forman parte de la interface entre un objeto y sus usuarios. Si se quiere encapsular el estado de un objeto completamente no se tiene que declarar ningún atributo público. Además de definir la visibilidad de un atributo, se puede proteger también de los cambios usando la adición READ-ONLY.

La Herencia

Es la capacidad que tiene una clase de heredar las propiedades y métodos de otra clase.

La herencia permite crear una nueva clase a partir de una existente, heredando la nueva clase sus propiedades. Esto se realiza añadiendo la adición INHERITING FROM a la sentencia de definición de la clase:

La nueva clase hereda los componentes de la clase ya existente.

La clase original se conoce como la superclase de la nueva clase que será la subclase.

Si no se añade ninguna declaración a la subclase, esta contiene los mismos componentes de la superclase. De cualquier manera, sólo los componentes públicos y protegidos de la superclase son visibles a la subclase. Aunque los componentes privados de la superclase existen en la subclase, no son visibles.

Se puede declarar componentes privados en una subclase que tengan los mismos nombres que los componentes de la superclase. Cada clase trabaja con sus propios componentes privados. Los métodos que una subclase hereda de una superclase usan los atributos privados de la superclase y no ningún componente privado de la subclase con el mismo nombre.

Veamos un ejemplo:

Los tipos de Herencia

Existen 2 tipos de herencia:

Simple: una clase puede tener más de una subclase de las cuales es superclase, pero sólo puede tener una superclase de la cual es subclase.

Multiple: una clase hereda de varias superclases.

Cuando una subclase hereda de una superclase que a su vez hereda de otra superclase de la cual es subclase, se forma una estructura de árbol en la cual el grado de especialización aumenta con cada nivel jerárquico que se añada. A la inversa, las clases se hacen más generales hasta que se alcanza el nodo raíz del árbol de herencia.

El nodo raíz de todos los árboles de herencia en los objetos ABAP es la clase predefinida vacía OBJECT.

Esta es la más general de todas las clases posibles ya que no contiene ni atributos ni métodos.

Cuando se define una nueva clase no se tiene que especificar explícitamente esta clase como superclase, esta relación está definida implícitamente.

Dentro de un árbol de herencia, dos nodos adyacentes son la superclase y la subclase directamente uno de otro. Las declaraciones de componentes en una subclase están distribuidas a través de todos los niveles superiores en el árbol de herencia.

El Polimorfismo

Significa que métodos que se llaman exactamente igual pueden comportarse de manera distinta en clases diferentes.

También se le conoce como Redefinición.

Dicho de otra forma, el polimorfismo consiste en conseguir que un objeto de una clase se comporte como un objeto de cualquiera de sus subclases, dependiendo de la forma de llamar a los métodos de dicha clase o subclase.

Todas las subclases contienen los componentes de todas las clases existentes entre ellas mismas y el nodo raíz del árbol de herencia. La visibilidad de un componente no puede ser cambiada nunca.

En cambio se puede usar la adición REDEFINITION en la sentencia METHODS para redefinir un método público o protegido dependiente de instancia en una subclase y hacer que realice una función más especializada.

Veamos un ejemplo:

Cuando se redefine un método no se puede cambiar su interface, el método mantiene el mismo nombre y la misma interface de parámetros, pero tiene una nueva implementación. La declaración y la implementación de un método en una superclase no se ve afectada cuando se redefine un método en una subclase.

La implementación de la redefinición en una subclase 'oculta' la implementación original en la subclase.

Cualquier referencia que apunte a un objeto de la subclase usa el método redefinido, incluso si la referencia fue definida con referencia a la superclase. Esto se aplica particularmente a la referencia a si mismo me->.

Si por ejemplo un método M1 de una superclase contiene una llamada:

Y M2 está redefinido en una subclase, la llamada a M1 desde una instancia de la superclase hará que el método original M2 sea llamado, mientras que la llamada a M1 desde una instancia de la subclase hará que el método redefinido M2 sea llamado (llaman a 'distintos' métodos aunque tengan el mismo nombre):

Dentro de un método redefinido se puede usar la referencia SUPER-> para acceder el método oculto. Esto permite usar la funcionalidad existente en el método de la superclase sin tener que codificarla de nuevo en la subclase.

El caso por excelencia en donde se aplica el polimorfismo o la redefinición es cuando tenemos una clase y una subclase y ambas tienen definido un mismo método, pero cada una de ellas presenta una declaración particular del método adaptado a sus propias necesidades.

Por ejemplo supongamos que tenemos la clase VEHICULO y las subclases CAMION, BARCO y AVION.

En la clase VEHICULO podemos tener definido el método CARGAR_NAFTA y luego en cada subclase tendremos una implementación particular del método, ya que no es exactamente lo mismo cargar nafta en un CAMION, en un BARCO o en un AVION.


 

Escanear / Compartir

 

 


Sobre el autor

Publicación académica de Lisimaco Prieto Herrera, en su ámbito de estudios para la Carrera Consultor ABAP Nivel Avanzado.

SAP Master

Lisimaco Prieto Herrera

Profesión: Ingeniero de Sistemas - Colombia - Legajo: DV67X

✒️Autor de: 96 Publicaciones Académicas

🎓Egresado de los módulos:

Presentación:

Ingeniero de sistemas con amplia experiencia en el desarrollo de software para el sistema sap r/3 en lenguaje de programación abap.

Certificación Académica de Lisimaco Prieto

✒️+Comunidad Académica CVOSOFT

Continúe aprendiendo sobre el tema "Las propiedades de la programación orientada a objetos" de la mano de nuestros alumnos.

SAP Master


Las propiedades de la programación orientada a objetos Propiedades de la POO La POO se basa en tres propiedades clave: encapsulación, herencia y polimorfismo. Esta lección revisa cada una de ellas en detalle. Encapsulación Conocida también como ocultamiento; restringe la visibilidad de atributos y métodos. Tres niveles de visibilidad: público, privado y protegido. Cada objeto tiene una interfaz pública y una implementación interna oculta. Se recomienda minimizar los componentes públicos al diseñar una clase. Los componentes públicos no pueden modificarse una vez liberada la clase. ...

Acceder a esta publicación

Creado y Compartido por: Juan Ignacio Romero

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

• Las Propiedades de la Programación Orientada a Objetos La Programación Orientada a Objetos (POO) en ABAP se fundamenta en tres propiedades esenciales que definen cómo se estructuran y se comportan los objetos, contribuyendo a un diseño de software robusto y flexible. Estas propiedades son la encapsulación, la herencia y el polimorfismo, que controlan la visibilidad, la reutilización y el comportamiento adaptable del código. â—¦ Encapsulación: Una propiedad fundamental que gestiona la visibilidad de los componentes de un objeto, ocultando su implementación interna. â—¦ Herencia: Permite a las clases nuevas adquirir características y funciones de clases ya existentes,...

Acceder a esta publicación

Creado y Compartido por: Roberto Fluder Ahumada

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP SemiSenior

Las tres propiedades fundamentales que presentan los objetos en la programación orientada a objetos son: Encapsulamiento : Es la propiedad que permite ocultar los detalles internos de un objeto y exponer solo lo necesario a través de una interfaz pública. Esto ayuda a proteger los datos y reducir la complejidad. Herencia : Permite que una clase (subclase) herede atributos y métodos de otra clase (superclase). Esto facilita la reutilización del código y permite crear jerarquías de clases. Polimorfismo : Es la capacidad de que un objeto pueda ser tratado como instancia de múltiples clases a través de la herencia. Esto permite que un mismo método...

Acceder a esta publicación

Creado y Compartido por: Exequiel Eduardo Acevedo / Disponibilidad Laboral: FullTime

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Senior

Las propiedades de la programación orientada en objetos: Existen tres propiedades fundamentales que presentan los objetos. Ellas son: Encapsulación Herencia Polimorfismo Encapsulación : también conocido "ocultamiento", se refiere a que todos los objetos restringen la visibilidad de sus recursos (atributos y métodos) al resto de los usuarios. Las tres áreas de visibilidad (pública, privada y protegida) son las base de la encapsulación. Cuando se define una clase hay que tener mucho cuidado en el diseño de los componentes públicos, intentando declarar tan pocos como sea posible. Los componentes públicos de las clases globales no pueden ser cambiados...

Acceder a esta publicación

Creado y Compartido por: Javier Miguel Angel Barcelo / Disponibilidad Laboral: PartTime

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Expert


Denominaremos especialización a la relación en donde una clase, la sub clase hereda las principales características de otra clase la súper clase. Si invertimos el punto de vista, es decir, la súper clase hereda las características de la sub clase entonces hablaremos de generalización, si la súper clase no tiene una excepción o parte privada la sub clase es una réplica exacta de la súper clase, de todos modos, podemos añadir nuevos componentes a la sub clase esto permite convertir a la sub clase e una versión especializada de la súper clase si una sub clase es ella misma una súper clase de otras clases se está introduciendo un nuevo...

Acceder a esta publicación

Creado y Compartido por: Jose Medina / Disponibilidad Laboral: FullTime + Carta Presentación

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Master

PROPIEDADES DE LA PROGRAMACIÓN ORIENTADA A OBJETOS. Existen tres propiedades fundamentales que presentan los objetos. Ellas son: •Encapsulacion •Herencia •Polimorfismo LA ENCAPSULACIÓN se refiere a todos los objetos que restringen la visibilidad de sus recursos ( atributos y métodos) al resto de los usuarios. Cada objeto posee una interfase que determina la manera de interactuar con el. La implementación del objeto (su interior) es encapsulada, lo que quiere decir que desde afuera el objeto es invisible, simplemente se usa. Los componentes públicos de las clases globales no pueden ser cambiados una vez que se ha liberado la clase. LA HERENCIA Es la capacidad que tiene una clase de heredar...

Acceder a esta publicación

Creado y Compartido por: Gerardo Jose Campos Tovar / Disponibilidad Laboral: FullTime + Carta Presentación

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Expert


Object-Oriented Programming Properties Encapsulation Encapsulation, also known as "hiding," refers to the concept where objects restrict the visibility of their resources (attributes and methods) from other users. It's like hiding the complexity under a hood. In encapsulation, we have three visibility areas: public, protected, and private. These areas form the basis of encapsulation. Each object has an interface that dictates how it can be interacted with. CLASS c1 DEFINITION. PUBLIC SECTION. DATA: a1 ... " Public attributes visible outside the class. METHODS: m1 ... " Public methods accessible from outside. EVENTS: e1 ... " Public events for outside interaction. PROTECTED SECTION. ...

Acceder a esta publicación

Creado y Compartido por: Jaime Eduardo Gomez Arango / Disponibilidad Laboral: FullTime + Carta Presentación

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Expert


Las propiedades de la programación orientada a objetos 1 - Las propiedades de la POO. 3 tipos: - encapsulacion - herencia - polimorfismo. 2 - Encapsulacion. Ocultamiento, restingen la visibilidad de sus recursos (atributos y metodos) al resto de los usuarios. Las 3 areas (publica, privada y protegida) son la base de la encapsulacion. Cada objeto posee una interfase que derermina la manera de interactuar con el. Se debe declarar lo menos posible componentes publicos. Los componente publicos de las clase globales no pueden ser cambiados una vez que se han liberado la clase. Se puede proteger un atributo con READ-ONLY. 3 - La herencia. Capacidad de una clase de heredar las propiedades y metodos de otra...

Acceder a esta publicación

Creado y Compartido por: Pablo Adrian Oggero

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Master

Las propiedades de la programación orientada a objetos Existen 3 propiedades fundamentales que presentan los objetos. Ellas son: Encapsulación Herencia Polimorfismo A continuación veremos en detalle cada una de ellas. La Encapsulación También conocida como ocultamiento, se refiere a que todos los objetos restringen la visibilidad de sus recursos (atributos y métodos) al resto de los usuarios. Las 3 áreas de visibilidad (pública, privada y protegida) son la base de la encapsulación. Cada objeto posee una interfase que determina la manera de interactuar con él. La implementación del objeto (su interior) es encapsulada, lo que quiere decir que desde fuera el objeto es...

Acceder a esta publicación

Creado y Compartido por: Lisimaco Prieto Herrera

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Master

En ABAP la POO se utiliza en casos muy puntuales, por ejemplo si te piden crear una transacción que muestro en una misma pantalla 2 o mas reportes ALV la unica forma de hacer esto es utilizando la POO. Lo mismo sucede si tenemos que implementar BADIS, son aplicaciones muy puntuales, no se desarrolla toda una trx orientada a objetos. PROPIEDADES DE LA PROGRAMACION ORIENTADA A OBJETOS. Encapsulacion Se conoce como ocultamiento, se refiere a que todos los objetos restringen la visibilidad de sus recursos (Atributos y Metodos) Al resto ed los usuarios. Herencia Es la capacidad que tiene una clase de heredar las propiedades y metodos de otra clase. Tipos de HERENCIA: existen dos tipos, simple y multiple Polimorfismo Significa que metodos...

Acceder a esta publicación

Creado y Compartido por: Pedro Salazar / Disponibilidad Laboral: FullTime + Carta Presentación

 


 

👌Genial!, estos fueron los últimos artículos sobre más de 99.000 publicaciones académicas abiertas, libres y gratuitas compartidas con la comunidad, para acceder a ellas le dejamos el enlace a CVOPEN ACADEMY.

🔎Buscador de Publicaciones:

 


 

No sea Juan... Solo podrá llegar alto si realiza su formación con los mejores!