@oop_ru

Страница 337 из 785
Sergey
17.09.2017
20:10:10
если убрать new то a: number будет глобальной переменной
а если взять человека, сшить ему ноги, вставить бивни и покуралесить с пластикой выйдет морж

illiatshurotshka❄️
17.09.2017
20:10:36
не выйдет

Sergey
17.09.2017
20:10:46
не выйдет
посмотри фильм "Бивень"

illiatshurotshka❄️
17.09.2017
20:10:52
не хочу

Google
Sergei
17.09.2017
20:11:02
да и в Lua насколько я помню
вот есть поведение и состояние у каждого экземпляра функции (js, lua) function counter() { let count = 0; return function() { count = count + 1; return count; } } c1 = counter(); c2 = counter(); console.log(c1()); //1 console.log(c1()); //2 console.log(c2()); //1

illiatshurotshka❄️
17.09.2017
20:11:29
опять же это замыкания

Sergey
17.09.2017
20:11:36
это состояние + поведение

= объект

illiatshurotshka❄️
17.09.2017
20:11:52
но это разные концепции

Sergey
17.09.2017
20:12:08
ну на самом деле не особо то и разные

https://www.youtube.com/watch?v=RdE-d_EhzmA

вот у этого чела были неплохие реплики на эту тему

Sergei
17.09.2017
20:13:15
какая разница?
Во) кто то подддержал эту идею)

Sergey
17.09.2017
20:16:25
OOP это: - все есть объект. ОБъект это "что-то". Хочешь - объект это замыкание. В эрланге это по сути микротред. Хочешь - еще чего. Это не важно. Это просто совокупность состояния и поведения. - объекты обмениваются сообщениями между собой что бы просить что-то сделать/посчитать/уточнить - объекты должно быть легко подменять. То есть иметь возможность поменять поведение системы за счет "переконфигурации". Late binding короч

ну это я так понимаю

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

Google
Sergey
17.09.2017
20:16:57
опять же - Erlang хороший пример тру ООП языка

Yan
17.09.2017
20:20:07
В видео OOP is dead Интересно, сколько будут хоронить ООП

Sergey
17.09.2017
20:20:50
В видео OOP is dead Интересно, сколько будут хоронить ООП
не делай выводов по заголовку. Еще могу "Agile is dead" скинуть от одного из челов кто этот самый Agile манифест и запилил

ну или разберись что такое OODD

Sergey
17.09.2017
20:21:35
Yan
17.09.2017
20:21:46
Ща гляну

разберись что есть "OODD"
Имеется ввиду ood?

Sergey
17.09.2017
20:28:41
Object-Oriented Design and Development

Yan
17.09.2017
20:28:55
Ясно, как это относится к смерти ООП?

Sergey
17.09.2017
20:29:23
ну посмотри видос полностью и может быть поймешь

идею убили давно, раз ты считаешь что "функция это не объект"

Yan
17.09.2017
20:29:38
Ты не можешь ответить?

идею убили давно, раз ты считаешь что "функция это не объект"
Тут вообще без комментариев, если функция - это объект...

Sergey
17.09.2017
20:30:04
идея ООП умерла тогда когда "объект" начали отождествлять только с "инстанс класса"

это намного более широкая концепция а ее подают настолько примитивно что проще просто забить и возвращаться к структурному программированию (что собственно все и делают на самом то деле, классы и т.д. были до ООП)

Sergey
17.09.2017
20:33:04
Конкретика будет?
я привел тебе пример - посмотри на erlang. Ты можешь воспринимать "объектом" там микротред, весь стэйт приватный, взаимодействие "объектов" посредствам обмена сообщений

вполне "конкретно"

Google
Sergey
17.09.2017
20:33:51
Я ни разу не видел ерланг, мне ради диалога с тобой его смотреть?
ну а мне ради диалога с тобой напрягаться?) ты забавный)

у меня нет цели "заставить тебя что-то там осознать". Если тебе интересно - сам погуглишь

если нет - ну ок

Yan
17.09.2017
20:34:29
ну а мне ради диалога с тобой напрягаться?) ты забавный)
Ну ты ж отождествляешь функцию с объектом, а потом абстрактные предложения пишешь ни о чем, не я)

Yan
17.09.2017
20:35:24
дай определение слову "объект"
Яснопонятно, диалог зашёл в тупик

Sergey
17.09.2017
20:35:37
Яснопонятно, диалог зашёл в тупик
ну то есть ты не можешь)

Sergei
17.09.2017
20:35:40
вы бы определились, что считать "объектом", а что - нет. наверное много вопросов бы отпало, и все дружно вернулись к изначальной битве "является ли Java функциональным языком?"

дай определение слову "объект"
вот меня даже опередили

Yan
17.09.2017
20:36:42
ну то есть ты не можешь)
Чувак, ты тут распинаешься о том, о сем, об умершем ООП, о более широких концепциях, конкретики нет, а потом спрашиваешь меня что такое объект.

Sergei
17.09.2017
20:36:48
Обьект это сущность

Sergey
17.09.2017
20:37:10
Чувак, ты тут распинаешься о том, о сем, об умершем ООП, о более широких концепциях, конкретики нет, а потом спрашиваешь меня что такое объект.
мне же надо знать как ты понимаешь слово объет что бы попробовать мысль более понятным способом донести

ибо судя по всему у тебя чуть другой вижен "что такое объект". И это корень проблемы во взаимопонимании который следует устранить

Yan
17.09.2017
20:38:58
мне же надо знать как ты понимаешь слово объет что бы попробовать мысль более понятным способом донести
Сущность, хранящая состояние и поведение, инкапсулированное в классе

Yan
17.09.2017
20:39:30
Sergey
17.09.2017
20:39:31
точнее по другому, какое отношение классы имеют к объектам?

Yan
17.09.2017
20:39:51
Я уже написал

Sergey
17.09.2017
20:40:01
ну мол в моем разумении классы это сущности существующие в компайл тайме а объекты, стэйт и т.д. - в рантйаем

соответственно следует убрать слово "класс" из твоего определения.

Google
Yan
17.09.2017
20:40:47
И наследование заодно убери

Sergey
17.09.2017
20:40:48
далее, "состояние и поведение". Можно ли считать объектом некую сущность у которой нет состояния?

И наследование заодно убери
предположим что наследование можно сделать миллионом способов помимо "extends"

Yan
17.09.2017
20:41:15
Смотря что по-твоему состояние

Sergey
17.09.2017
20:41:34
Sergei
17.09.2017
20:41:43
Как я думаю, главное семантика, а обьекты, классы, функции как они пишутся в чём разница, разные языки, это технические штуки, а семантика это как бы выше что ли, вот например книга и блокнот, в блокноте страницы перелистываются вертикально к примеру, в книге горизонтально, в книге уже что то написано, но в блокното тоже, т.е. расчерчены линии, как книга состоит из бумаги так и блокнот, вещи вроде бы разные но похожие. Так же и "стейт" у функции, отличие методов и функций и т.д.

Sergey
17.09.2017
20:42:04
Ну давай хотя бы три
композиция, агрегация, прототипы

Yan
17.09.2017
20:42:27
Yan
17.09.2017
20:43:14
Я имею ввиду реализуй в функциях наследование, подобное наследованию в классах

А не как это в ядре языка

Sergey
17.09.2017
20:43:43
ну и опять же. та же композиция/аргегация

p.s. наследование не нужно для ООП

Yan
17.09.2017
20:44:17
Мы сейчас обо всем, и о языках тоже, иначе можно говорить вообще о машинном коде, ведь все к этому сводится

Sergey
17.09.2017
20:44:35
потому что ты в кучу ложишь какие-то концепции типа "наследование" и почему-то считаешь это важным

Yan
17.09.2017
20:45:19
Ты возьми функцию и проведи параллель с объектом, как утверждал, а не о реализации того или иного абстрактно, не привязываясь к языку

Google
Sergey
17.09.2017
20:45:35
монады очень похожи на объекты по своей сути

они "инкапсулируют" в себе какой-то стэйт

и предоставляют некое поведение

Sergey
17.09.2017
20:46:40
а что тебе еще нужно? все остальное - просто функции

если у тебя нет стэйта, что тебе еще надо?)

и я повторюсь - какой-нибудь сервис предоставляющий поведение но не хранящий никакого стэйта - это объект или нет?

Yan
17.09.2017
20:47:47
Ясно, ну молодец, прям продемонстрировал аналогичность функции и объекта)

Sergey
17.09.2017
20:47:52
любимый всеми UserManager или еще какая-нибудь подобная хрень

Sergey
17.09.2017
20:48:46
а что это тогда?

Yan
17.09.2017
20:49:05
Это сервис, представляющий поведение

Sergey
17.09.2017
20:49:16
почему это не объект?

это поведение "инкапсулированное в классе"

Yan
17.09.2017
20:49:36
Не улавливаешь мысль?

Sergey
17.09.2017
20:49:46
ты на вопрос ответь

если это не объект, что это?

Yan
17.09.2017
20:50:05
Ты же сам ответил, не хранит стейта

Sergey
17.09.2017
20:50:08
не придумывай новых терминов вроде "сервис предоставляющий поведение"

Страница 337 из 785