Оберон-клуб «ВЄДАsoft»

Твердыня модульных языков
Текущее время: 16 июн 2025, 22:37

Часовой пояс: UTC + 2 часа




Начать новую тему Ответить на тему  [ Сообщений: 35 ]  На страницу 1, 2, 3, 4  След.
Автор Сообщение
 Заголовок сообщения: Атрибуты ABSTRACT и EMPTY
СообщениеДобавлено: 26 июн 2018, 14:42 
Не в сети

Сообщения: 116
Откуда: Каменск-Уральский
В каких случаях при объявлении методов используется атрибут ABSTRACT, а в каких EMPTY?


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Атрибуты ABSTRACT и EMPTY
СообщениеДобавлено: 26 июн 2018, 15:21 
Не в сети

Сообщения: 146
В сообщении о языке - http://www.inr.ac.ru/~info21/cpascal/cp ... .4_rus.htm есть довольно подробное описание:
Цитата:
Описания абстрактных и пустых методов состоят только из заголовка процедуры. Абстрактные методы не могут вызываться. Тип записей, содержащий абстрактный метод, должен быть абстрактным. Метод, переопределяемый абстрактным методом, должен быть абстрактным. Абстрактный метод экспортируемого типа запись должен экспортироваться. Вызов пустого метода не имеет никакого эффекта. Пустые методы не могут быть процедурами-функциями и не могут иметь OUT параметров. Тип записей, содержащий новые пустые методы, должен быть переопределяемым или абстрактным. Метод, переопределенный пустым методом, должен быть пустым или абстрактным. Абстрактные или пустые методы некоторого типа обычно переопределяются (реализуются) в его потомках. Они не должны вызываться супер-вызовами. Конкретный (не абстрактный) тип записей, являющийся потомком абстрактного типа, должен реализовать все абстрактные методы своего типа-предка.


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Атрибуты ABSTRACT и EMPTY
СообщениеДобавлено: 26 июн 2018, 15:30 
Не в сети

Сообщения: 116
Откуда: Каменск-Уральский
Это я уже читал. Тут сказано КАК это делать, но почти ничего не сказано ДЛЯ ЧЕГО. Вот только одна строчка:
Цитата:
Абстрактные или пустые методы некоторого типа обычно переопределяются (реализуются) в его потомках.


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Атрибуты ABSTRACT и EMPTY
СообщениеДобавлено: 26 июн 2018, 16:26 
Не в сети

Сообщения: 146
Вот ещё
Цитата:
Абстрактные методы не могут вызываться

То есть, абстрактный метод требует обязательного определения в конечном, не заготовочном RECORD. Пустой метод не требует обязательного переопределения, предоставляя поведение по умолчанию - отсутствие действий.

В целом, ООП модель а Компонетном Паскале на данным момент считается не очень удачной, но это потенциально врывоопасная тема, я же говорю об этом потому, что, возможно, и не стоит особо вникать в эти детали.


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Атрибуты ABSTRACT и EMPTY
СообщениеДобавлено: 26 июн 2018, 17:04 
Не в сети

Сообщения: 116
Откуда: Каменск-Уральский
Comdiv писал(а):
...предоставляя поведение по умолчанию - отсутствие действий.

Зачем он тогда нужен?


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Атрибуты ABSTRACT и EMPTY
СообщениеДобавлено: 26 июн 2018, 17:41 
Не в сети
Аватара пользователя

Сообщения: 1019
Откуда: Днепропетровская обл.
Comdiv писал(а):
В целом, ООП модель а Компонетном Паскале на данным момент считается не очень удачной
Кем считается? Надо думать, в Обероне-07 более удачная модель ООП?


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Атрибуты ABSTRACT и EMPTY
СообщениеДобавлено: 26 июн 2018, 18:11 
Не в сети

Сообщения: 146
Len писал(а):
Comdiv писал(а):
...предоставляя поведение по умолчанию - отсутствие действий.
Зачем он тогда нужен?
Видимо, для экономии строк. Я уже писал, что модель не очень удачная.


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Атрибуты ABSTRACT и EMPTY
СообщениеДобавлено: 26 июн 2018, 18:15 
Не в сети

Сообщения: 146
Zorko писал(а):
Кем считается?
В целом, в мире прошла ООП-эйфория и появилась тенденция более ограниченного ООП (Go, Rust). Других эйфорий, впрочем, хватает.
Comdiv писал(а):
это потенциально врывоопасная тема, я же говорю об этом потому, что, возможно, и не стоит особо вникать в эти детали.


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Атрибуты ABSTRACT и EMPTY
СообщениеДобавлено: 27 июн 2018, 00:43 
Не в сети
Аватара пользователя

Сообщения: 1019
Откуда: Днепропетровская обл.
Модель ООП в КП вполне минималистична (проще принятой в Активном Обероне) и является уточнением модели Оберона-2 в сторону компонентности.


Никто не утверждает, что она идеальна. Но она вполне хорошо выполняет возложенные на неё задачи.



Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Атрибуты ABSTRACT и EMPTY
СообщениеДобавлено: 27 июн 2018, 10:59 
Не в сети

Сообщения: 146
Zorko писал(а):
Модель ООП в КП вполне минималистична (проще принятой в Активном Обероне)
И тем не менее, сейчас пришли к двухэтажной модели наследования методов - интерфейс -> воплощение с разными нюансами. Возможно, хотят на уровне языка решить проблему хрупкого базового класса.


Вернуться к началу
 Профиль  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 35 ]  На страницу 1, 2, 3, 4  След.

Часовой пояс: UTC + 2 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 13


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
© VEDAsoft Oberon Club