Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
попробую... 09.11.02 02:07 Число просмотров: 1153
Автор: dl <Dmitry Leonov> Отредактировано 09.11.02 02:11 Количество правок: 1
|
Естественно, базовые возможности ООП тут в наличии. Инкапсуляция - наследование - полиморфизм, это святое. Теперь о нитках.
Переменные объявляются только в начале функции. В сочетании с необходимостью конструирования объекта в произвольном месте привело к тому, что объекты приходится конструировать только в динамической памяти, явно вызывая и конструктор, и деструктор (в додельфяных версиях это было еще менее очевидно, чем сейчас, что несколько путало). Никакой автоматической очистки ресурсов. Отсюда, кстати, вылезла обработка исключений скорее растущая от структурных Win32-исключений - ресурсы ж как-то надо освобождать.
Плюс отсутствие как множественного наследования, так и его суррогатов типа явовских интерфейсов и совсем неочевидный синтаксис использования в одних случаях ключевого слова virtual, в других override.
В общем, конечно, мелочи, но постоянно возникает ощущение, что то или иное синтаксическое решение берется из плюсов и обрезается с тем, чтобы втиснуться в паскалевские рамки.
Скажем, свойства, появившиеся в дельфях и унаследованные билдером - ведь их прекрасно можно было бы реализовать за счет одной перегрузки операций, не ломая язык.
Остальные вещи, которых не хватает в паскале, относятся не столько к ООП, сколько к таким вкусностям С++, как шаблоны, перегрузка операций и пространства имен - ну да их и в Яве нет :)
|
|
|