🚀PROMO #PLANCARRERA2024 - 🔥Bonificaciones, Precios Congelados y Cuotas

 X 

✒️ABAP Las propiedades de la programación orientada a objetos

ABAP Las propiedades de la programación orientada a objetos

ABAP Las propiedades de la programación orientada a objetos

Lección 4: Propiedades de la Programación Orientada a Objetos

1| Las propiedades de la programación orientada a Objetos

Existen tres propiedades que presentan los objetos:

ü Encapsulación

ü Herencia

ü Polimorfismo

2| Encapsulación

También conocido como “Ocultamiento” se refiere a que todos los objetos restringen la visibilidad de sus recursos (atributos y métodos) al resto de los usuarios.

Tres áreas de visibilidad (pública, privada y protegida) son la base de la encapsulación. Cada objeto posee una interface 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. Ejemplo: los atributos 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 adicción READ-ONLY

3| 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 todos 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 que la superclase. de cualquier manera, solo 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 componentes privados 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.

Ejemplo:

CLASS vehículo DEFINITION.

PUBLIC SECTION.

METHODS: aumentar_velocidad,

disminuir_velocidad.

PROTECTED SECTION.

DATA km TYPE i.

ENDCLASS.

CLASS vehículo IMPLEMENTATION.

METHOD aumentar_velocidad.

ADD 10 TO km.

ENDMETHOD.

METHOD disminuir_velocidad.

SUBTRACT 10 FROM km.

ENDMETHOD.

ENDCLASS.

CLASS bicicleta DEFINITION INHERITING FROM vehículo.

PUBLIC SECTION.

DATA desgaste_camara(5) TYPE c.

ENDCLASS.

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

Tipos de Herencia.-Existen dos tipos:

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

> Múltiple: 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 alcance el nodo raíz del árbol de herencia

El nodo raíz de todo los arboles 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 tienen 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.

Las adiciones abstractas y finales en las sentencias METHOD y CLASS, permiten definir métodos o clases abstractas y finales, un método abstracto se define en una clase abstracta y no puede ser implementado en esa clase, tiene que ser implementado en una subclase de la clase, las clases abstractas no pueden ser instanciadas, un método Final no puede ser redefinido en una subclase, las clase finales no pueden tener subclases son las que finalizan el árbol de herencia.

4| Polimorfismo

Significa que métodos que se llaman exactamente igual pueden comportarse de manera distinta en clases diferentes. También de lo 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 subclases. 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.

Ejemplo:

CLASS counter DEFINITION.

PUBLIC SECTION.

METHODS: set IMPORTING value(set_value) TYPE i,

increment.

get EXPORTING value(get_value) TYPE i,

PROTECTED SECTION.

DATA count TYPE i.

ENDCLASS.

CLASS counter IMPLEMENTATION.

METHOD set.

count = set_value.

ENDMETHOD.

METHOD increment.

ADD 1 TO count.

ENDMETHOD.

METHOD get.

get_value = count.

ENDMETHOD.

ENDCLASS.

CLASS counter_ten DEFINITION INHERITING FROM counter.

PUBLIC SECTION.

METHOD increment REDEFINITION.

DATA count_ten(1) TYPE c.

ENDCLASS.

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 la subclase oculta la implementación original en la superclase.

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.

CALL METHOD [ ME -> ] M2

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 tenga el mismo nombre). Dentro de un método redefinido se puede usar la referencia SUPER-> para acceder al 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.


 

 

 


Sobre el autor

Publicación académica de Hernan Cabezas, en su ámbito de estudios para la Carrera Consultor ABAP.

SAP Master

✒️+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 fundamentales de la programación orientada a objetos son: encapsulación (los objetos restringen la visibilidad de sus métodos y atributos al resto de los usuarios), herencia (permite heredar las propiedades y métodos de otra clase, pueden ser simples o mútilples) y polimorfismo (métodos que tienen el mismo nombre se pueden comportar diferente en clases distintas).

Acceder a esta publicación

Creado y Compartido por: Mónica Robles

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

SAP Expert


Propiedades de loa programación orientada a objetos Existen 3 propiedades fundamentales: Encapsulación.- También conocido como "ocultamiento", se refiere a que todos los objetos restringen la visibilidad de sus recursos (atributos y métodos) al resto de usuarios. Herencia.- Es la capacidad que tiene una clase de heredar las propiedades y métodos de otra clase. 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".

Acceder a esta publicación

Creado y Compartido por: José Luis Zevallos Mamani

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

SAP Senior

PROPIEDADES DE LA PROGRAMACION ORIENTADA A OBJETOS. 1. LAS PROPIEDADES DE LA PROGRAMACION ORIENTADA A OBJETOS. 2. ENCAPSULACION. Tambien conocido como OCULTAMIENTO, se refiere a que ls objetos restringen la visibilidad de sus recursos al resto de los usuarios. Las 3 areas de visibilidad, publica, privada y protegida son la base de la encapsulacion. 3. HERENCIA. Es la capacidad que tiene una clase de heredar las propiedades y metodos de otra clase. EXISTEN DOS TIPOS DE HERENCIA: - SIMPLE: una clase puede tener mas una subclase de las cuales es superclase, pero solo puede tener una susperclase de la cual es subclase. - MULTIPLE: una clase hereda de varias superclases. 4. POLIFORMISMO. Significa que metodos que se llaman exactamente igual pueden...

Acceder a esta publicación

Creado y Compartido por: Bruno Edgardo Gallinoto / Disponibilidad Laboral: FullTime + Carta Presentación

*** 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

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

SAP SemiSenior

Propiedades de la Programacion Orientada a Objetos: Encapsulacion.- Llamado tambien "ocultamiento" se refiere a los objetos que restringen la visibilidad de sus atributos y metodos al resto de usuarios. -Publica. -Privada -Protegida 2. Herencia.- Capacidad que tiene una clase de heredar las propiedades y metodos de otra clase. Ejm: CLASS subclass DEFINITION INHERITING FROM superclass. Existen 2 tipos de herencia: Simple.- Una clase puede tener mas de una subclase de las cuales es superclase. Multiple.- Una clase hereda de varias superclases. 3. Polimorfismo.- Significa que metodos que se llaman exactamente igual pueden comportarse de manera distinta en clases diferentes. Tambien se le conoce...

Acceder a esta publicación

Creado y Compartido por: Mijael Montano Mendoza / Disponibilidad Laboral: PartTime

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

SAP Master

las propiedades de la programacion orientada a objetos existen tres tipos de propiedades fundamentales que presentan los objetos, ellas son: encapsulacion herencia polimorfismo a continuacion veremos en detalle cada una de ellas. encapsulamiento tambien conocido como ocultamiento se refiere a que todos los objetos retsringen la visibilidad de sus recursos(atributos y metodos) al restro de los usuarios. las tres areas de visibilidad(publica, privada y protegida) son la base de la encapsulacion. cada objeto posee una interfase que determina la manera de interactuar con el. la implementacion del objeto(su interior) es encapsulado, lo que quiere decir que desde fuera el objeto es invisible, simplemente se usa. herencia es la capacidad que tiene...

Acceder a esta publicación

Creado y Compartido por: Oscar Sebastian Caicedo Carlier / Disponibilidad Laboral: PartTime + Carta Presentación

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

SAP Master

Las Propiedades de la Programacion Orientada a Obejos: Existen tres propiedades fundamentales que presentan los objetos como la encapsulacion, herencia y el polimorfismo. Encapsulacion: Tambien llamado "ocultamiento". Se refiere a que todos los objetos restringen la visibilidad de sus recursos (atributos y metodos) al resto de los usuarios. Las tres areas de visibilidad son la publica, privada y protegida. Herencia: Capacidad que tiene una clase de heredar las propiedades y metodos de otra clase. Existen dos tipos de herencia. Simple: Una clase puede tener mas de una subclase de las cuales es superclase, pero solo puede tener una superclasee de la cual es subclase. Multiple: Una clase hereda de varias superclases. Polimorfismo:...

Acceder a esta publicación

Creado y Compartido por: Roberto Serrano

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

SAP Expert


PROPIEDADES DE LA PROGRAMACION ORIENTADA A OBJETOS ENCAPSULACION, se refiere a que todos los objetos restringen la visibilidad de sus recursos (atributos y metodos) al resto de los usuarios HERENCIA, es la capacidad que tiene una clase de heredar las propiedades y metodos de otra clase, se agrega la sentencia INHERITING FROM GENERALIZACION, cuando la super clase tiene las mismas propiedades de la superclase TIPOS DE HERENCIA, SIMPLE, uina clase puede tener mas de ua subclase de las cuales es superclase, poro solo puede tener una superclase de la cual es subclase MULTIPLE, una clase hereda de varias superclases El nodo raiz de todos los arboles de herencia es la clase predefinida vacia OBJECT las adiciones FINAL y ABSTACT(debe estar en una...

Acceder a esta publicación

Creado y Compartido por: Yeffer Jaime Sierra Saenz

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

SAP Senior

PROPÍEDADES DE LA PROGRAMACIÓN ORIENTADA A OBJETOS Existen tres propiedades que presentan los objetos: a.- Encapsulación. También llamado ocultamiento se refiere los objetos que restringuen 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 la base de la encapsulación. si se desea encapsular el contenido de un objeto, este no se debe definir público. Los cambios se protejen con READ-ONLY 3. Herencia.. es la capacidad que tienen una clase de heredar las propiedades y métodos de otra clase. Se asigna con INHERINTING FROM Superclase que es la clase original. Las...

Acceder a esta publicación

Creado y Compartido por: Morela Silva

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

SAP Expert


Unidad 5: Programación Orientada a Objetos. Lección 4: Propiedades de la Programación Orientada a Objetos. Audio tip 1: Denominaremos especialización a la relación en donde una clase, la subclase hereda todas las principales características de otra clase las súper clase. Si invertimos el punto de vista, es decir, la súper clase hereda las características de la subclase entonces hablaremos de generalización. Si la súper clase no tiene una sección o parte privada la subclase es una replica exacta de la súper clase. De todos modos podemos añadir nuevos componentes a la subclase, esto permite convertir a la subclase en una versión especializada...

Acceder a esta publicación

Creado y Compartido por: Brenda Castillo Domínguez / Disponibilidad Laboral: FullTime

 


 

👌Genial!, estos fueron los últimos artículos sobre más de 79.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!