SAPфорум.RU
https://sapboard.ru/forum/

Ссылка в классе A на класс B, а в классе B на класс A - можно?
https://sapboard.ru/forum/viewtopic.php?f=13&t=96051
Страница 1 из 1

Автор:  Валерка [ Ср, фев 14 2018, 08:52 ]
Заголовок сообщения:  Ссылка в классе A на класс B, а в классе B на класс A - можно?

Есть два класса: A и B. Как можно сделать член класса в A вида "ref to B", а в классе B член класса "ref to A"?
Типа такого но чтобы ошибки при проверки не вылазили
Code:
CLASS lcl_A DEFINITION FINAL.
  PUBLIC SECTION.
    data ref_B type ref to lcl_B.
ENDCLASS.
CLASS lcl_A  IMPLEMENTATION.
ENDCLASS.

CLASS lcl_B DEFINITION FINAL.
  PUBLIC SECTION.
    data ref_A type ref to lcl_A.
ENDCLASS.
CLASS lcl_B  IMPLEMENTATION.
ENDCLASS.

p.s.по идее можно сделать члены класса другого типа и потом преобразовывать, но хотелось бы честную ссылку сразу с нужным типом.

Автор:  Kuranov.Dmitry [ Ср, фев 14 2018, 09:16 ]
Заголовок сообщения:  Re: Ссылка в классе A на класс B, а в классе B на класс A - можно?  Тема решена

Code:
CLASS C2 DEFINITION DEFERRED.

CLASS C1 DEFINITION.
  PUBLIC SECTION.
    DATA O2 TYPE REF TO C2.
ENDCLASS.

CLASS C2 DEFINITION.
  PUBLIC SECTION.
    DATA O1 TYPE REF TO C1.
ENDCLASS.




Автор:  Удав [ Сб, фев 17 2018, 00:58 ]
Заголовок сообщения:  Re: Ссылка в классе A на класс B, а в классе B на класс A - можно?

Валерка написал(а):
Есть два класса: A и B. Как можно сделать член класса в A вида "ref to B", а в классе B член класса "ref to A"?

Вы бы лучше задачу описали. :?

Автор:  SAPer [ Чт, фев 22 2018, 12:03 ]
Заголовок сообщения:  Re: Ссылка в классе A на класс B, а в классе B на класс A - можно?

Да, можно даже нужно иногда бывает. Например класс родитель хочет получить данные из дочерних объектов. А дочерний объект хочет получить данные родителя. Все от архитектуры объектов зависит.

Автор:  LAT [ Пт, фев 23 2018, 12:54 ]
Заголовок сообщения:  Re: Ссылка в классе A на класс B, а в классе B на класс A - можно?

SAPer написал:
...класс родитель хочет получить данные из дочерних объектов...
Это нежелательный сценарий: предок не должен "знать" о своих потомках.

Автор:  Kengur [ Ср, фев 28 2018, 11:14 ]
Заголовок сообщения:  Re: Ссылка в классе A на класс B, а в классе B на класс A - можно?

Такое вот https://help.sap.com/doc/abapdocu_751_i ... ferred.htm

Автор:  SAPer [ Ср, фев 28 2018, 12:15 ]
Заголовок сообщения:  Re: Ссылка в классе A на класс B, а в классе B на класс A - можно?

LAT написал(а):
SAPer написал:
...класс родитель хочет получить данные из дочерних объектов...
Это нежелательный сценарий: предок не должен "знать" о своих потомках.


Как пример есть объект документ. У документа есть объекты позиции. Каждая позиция может получить данные документа. А документ может получать и управлять данными позиций.

Автор:  Kuranov.Dmitry [ Ср, фев 28 2018, 12:19 ]
Заголовок сообщения:  Re: Ссылка в классе A на класс B, а в классе B на класс A - можно?

SAPer написал:
Как пример есть объект документ. У документа есть объекты позиции. Каждая позиция может получить данные документа. А документ может получать и управлять данными позиций.


Позиция же не наследуется от документа..
В предложенном вами сценарии это отношение не родитель-потомок, а отношение объект-свойство объекта

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/