Vous êtes sur la page 1sur 3

Objetos

Un objeto es únicamente una porción de código fuente que contiene datos y


proporciona servicios. Los datos constituyen los atributos del objeto. Los servicios que
proporciona el objeto se conocen como métodos y se asemejan en su funcionamiento
a las funciones. Normalmente los métodos operan con los datos privados del objeto,
esto es, con datos que son sólo visibles para los métodos del objeto. De esta manera,
los atributos de un objeto no pueden ser cambiados directamente por el usuario del
objeto, sólo pueden ser cambiados por los métodos de ese objeto. Así se garantiza la
consistencia interna del objeto. Clases Una clase es una entidad teórica que
describe el comportamiento de un objeto. Desde un punto de vista meramente
técnico, un objeto es una instancia en tiempo de ejecución de una clase. En principio
se pueden crear cualquier número de objetos basados en una única clase. Cada
instancia de una clase (objeto) tiene su propia identidad y su propio conjunto de
valores para sus atributos. Dentro de un programa un objeto es identificado por su
referencia, la cual le proporciona un nombre que define inequivocamente al objeto y
permite acceder a sus métodos y atributos.

Propiedades de los objetos


En la programación orientada a objetos, los objetos tienen normalmente las siguientes
propiedades: − Encapsulación – Los objetos restringen la visibilidad de sus recursos
(atributos y métodos) al resto de usuarios. 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. − Polimorfismo – El polimorfismo quiere decir que métodos que
se llaman exactamente igual pueden comportarse de manera distinta en clases
diferentes. La orientación a objetos tiene unas estructuras llamadas interfaces que
permiten acceder a métodos con el mismo nombre en diferentes clases. Dentro de
cada clase particular se puede redifinir el método obteniendo distintos métodos con el
mismo nombre. Asi es que un método no se define exactamente con su nombre, si no
con su nombre y el nombre de la clase a la que pertenece. − Herencia – Se pueden
utilizar clases existentes para originar nuevas clases. Las nuevas clases originadas
heredan los datos y los métodos de la superclase. De cualquier manera, se pueden
sobreescibir los métodos existentes, incluso añadir métodos nuevos.

Usos de la orientación a objetos Las principales ventajas de la programación


orientada a objetos son: − Sistemas de software muy complejos se vuelven mucho
más simples de comprender debido a que la orientación a objetos proporciona una
representación mucho más cercana a la realidad que otras técnicas de programación.
− En un sistema correctamente diseñado con orientación a objetos es posible realizar
cambios al nivel de la clases, sin tener que realizar cambios en ningún otro punto del
sistema. Esto reduce significativamente el costo total del mantenimiento necesario. −
A través del polimorfismo y la herencia es posible la reutilización de componentes
individuales. − La cantidad de trabajo en revisión y mantenimiento del sistema se
reduce debido a que muchos problemas pueden ser detectados y corregidos en la fase
de diseño.

Ejemplo
*&---------------------------------------------------------------------*
*& Report Z_POO_CLASS_0001
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT Z_POO_CLASS_0001.

CLASS avion DEFINITION ABSTRACT.


PUBLIC SECTION.
METHODS tipo_avion ABSTRACT.
ENDCLASS.

CLASS avion_carga DEFINITION INHERITING FROM avion.


PUBLIC SECTION.
METHODS tipo_avion REDEFINITION.
ENDCLASS.

CLASS avion_carga IMPLEMENTATION.


METHOD tipo_avion.
WRITE: / 'Avion de carga'.
ENDMETHOD.
ENDCLASS.

CLASS avion_pasajeros DEFINITION INHERITING FROM avion.


PUBLIC SECTION.
METHODS tipo_avion REDEFINITION.
ENDCLASS.
CLASS avion_pasajeros IMPLEMENTATION.
METHOD tipo_avion.
WRITE: / 'Avion de pasajeros'.
ENDMETHOD.
ENDCLASS.

START-OF-SELECTION.

DATA: gt_avion TYPE STANDARD TABLE OF REF TO avion,


gr_avion TYPE REF TO avion,
gr_avion_carga TYPE REF TO avion_carga,
gr_avion_pasajeros TYPE REF TO avion_pasajeros.
CREATE OBJECT gr_avion_carga.

APPEND gr_avion_carga TO gt_avion.

CREATE OBJECT gr_avion_pasajeros.

Vous aimerez peut-être aussi