Перейти к содержимому
Ktlo

Другой способ реализации Объектно-Ориентированного Программирования

Рекомендуемые сообщения

12 часа назад, MrAbad сказал:

потому что, это не ООП, а в чистом виде замыкание и функциональное программирование

ООП — это парадигма. Программа манипулирует объектами, которые хранят состояние (какие-либо данные) и могут обрабатывать сообщения. Это ещё называется вызовом методов. В приведённом коде у нас есть объект, хранящий состояние (a = 3, b = 14) и обрабатывающий сообщения printAandB, GET. По всем признакам это чистое ООП.

 

ООП — это не наследование, полиморфизм и инкапсуляция, и на этих трёх вещах ООП не покоится. Это просто удобные фичи, которые часто встречаются.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Цитата

Замыкание (англ. closure) в программировании — функция первого класса, в теле которой присутствуют ссылки на переменные, объявленные вне тела этой функции в окружающем коде и не являющиеся её параметрами.

360261219_.png.914d419691e1971c881611f715d05b8f.png

Однако соглашусь, что некоторые сходства с ООП есть.

(Кстати, даже на Вики есть кусок про замыкания в Луа)1239952949_.png.dad02d878340e05f8eed5e4ff2e1d776.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
6 часов назад, MrAbad сказал:

Однако соглашусь, что некоторые сходства с ООП есть

А я бы сказал, что наряду с местным ООП имеется также возможность его реализации посредством замыканий. При этом для полноценной работы с объектами замыкания вовсе не требуются, и одно другому не противоречит. Как написал Фингер выше - если язык позволяет реализовывать объекты, хранящие состояния в той или иной форме, то он поддерживает ООП. А все "доп. фичи" по типу полиморфизмов и нюансы реализации приваток путём замыканий являются скорее частным случаем.

 

Плюс не припомню, чтобы хоть раз использовал замыкания, ибо память опенкомпов не резиновая. И тем не менее весь гуишный интерфейс строю на объектах, наследующихся друг от друга

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в тему...

×   Вы вставили отформатированное содержимое.   Удалить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.


×
×
  • Создать...