OberonCore https://forum.oberoncore.ru/ |
|
Разное поведение для объектов одного типа https://forum.oberoncore.ru/viewtopic.php?f=29&t=181 |
Страница 1 из 1 |
Автор: | Grabli [ Среда, 26 Апрель, 2006 12:53 ] |
Заголовок сообщения: | Разное поведение для объектов одного типа |
Суть проблемы в том, что бы два объекта одинакового типа имели разную реализацию(сказанул): Типа такого Цитата: MODULE MyProg;
TYPE MyType = POINTER TO EXTENSIBLE RECORD; END; PROCEDURE (m: MyType) DoSomeThing (MyData: INTEGER), NEW, EMPTY; VAR MyProc1: MyType; MyProc2: MyType; BEGIN MyProc1.DoSomeThing(1); MyProc2.DoSomeThing(2); END MyProg. Но, что бы у MyProc1 и у MyProc2 были разные реализации процедуры DoSomeThing. Такое реально сделать? Или надо для MyProc1 и MyProc2 делать разные реализации типов MyType? А если нужно не два MyProc, а 100. Для каждого свою реализацию типа MyType делать? PS: Все наверное очень просто, но пока решение для меня не очевидно. |
Автор: | Trurl [ Среда, 26 Апрель, 2006 13:08 ] |
Заголовок сообщения: | |
Код: TYPE MyType = POINTER TO EXTENSIBLE RECORD
DoSomeThing: PROCEDURE (m: MyType; MyData: INTEGER); END; |
Автор: | Grabli [ Среда, 26 Апрель, 2006 13:21 ] |
Заголовок сообщения: | |
Хм. Логично. Спасибо |
Автор: | Илья Ермаков [ Среда, 26 Апрель, 2006 14:28 ] |
Заголовок сообщения: | |
Добавлю, что в Обероне-1 Вирта ООП только так и писалось - через поля процедурного типа. И перед использованием для каждого конкретного типа настраивались ("инсталлировались") его методы. |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |