
Oleg
15.06.2018
10:07:50
а не кажется что топить против функциональщины или ооп - это срач годов с 80-х?)

Andrey
15.06.2018
10:07:57
Это не поможет, потому что типизация абсолютно разныя.

Алексей
15.06.2018
10:08:07

Andrey
15.06.2018
10:08:20

Google

kana
15.06.2018
10:08:26

Oleg
15.06.2018
10:08:27

Aleh
15.06.2018
10:08:37

Алексей
15.06.2018
10:08:47
с шарпе дженерики и там так получается

Oleg
15.06.2018
10:08:51

Сергей
15.06.2018
10:08:51
бля

Aleh
15.06.2018
10:08:59

Сергей
15.06.2018
10:09:02
выкиньте нахуй свои привычки, если лезете в жс
вот вам итог

Oleg
15.06.2018
10:09:44
только наследование на прототипах - только хардкор)

Andrey
15.06.2018
10:10:25
Если я не ошибаюсь, тои на бекенде вас нахуй пошлют, если вы наследоваться захотите.

kana
15.06.2018
10:10:35

Алексей
15.06.2018
10:10:36
Что бы тут функциональщики не говорили, но JS мультипарадигменный язык, а значит ООП тут не запрещено.

Google

Andrey
15.06.2018
10:10:37
Только интерфейсы и композиция.

Алексей
15.06.2018
10:10:43

Сергей
15.06.2018
10:10:49
но оно и работает не так как в других языках
и цена другая

Andrey
15.06.2018
10:11:16

Abu
15.06.2018
10:11:23

Алексей
15.06.2018
10:11:29
Я вообще топлю за правильное смешение ФП и ООП

Oleg
15.06.2018
10:11:31
а в го есть наследование?

Alexander
15.06.2018
10:11:36
ну, каждый кулик хвалит своё болото, ясен пень. Как в любом мультипарадигменном языке кто к чему привык -- тот тем и пользуется.

Алексей
15.06.2018
10:11:37

Сергей
15.06.2018
10:11:39
и с ооп
и с наследованием в ооп

Andrey
15.06.2018
10:11:51
Где за почти любую попытку наследоваться будем по башке бить.

Сергей
15.06.2018
10:11:54
и с цепью виртуальных методов

Alexander
15.06.2018
10:12:07
Да всюду есть наследование в том или ином виде, йомайо, и в го, и в расте, и в *ваш любимый язык*. Просто работают чуть чуть по разному

Andrey
15.06.2018
10:12:10
Потому что потом задолбаешься это говно разбирать.

Aleh
15.06.2018
10:12:20

Сергей
15.06.2018
10:12:44

Google

Сергей
15.06.2018
10:12:51
или мне открыть objc проект и показать? (бля,не смогу)

Алексей
15.06.2018
10:12:51

Aleh
15.06.2018
10:13:12

Grigorii
15.06.2018
10:13:22

Denis
15.06.2018
10:13:41

Алексей
15.06.2018
10:13:50

Morsik
15.06.2018
10:13:58

kana
15.06.2018
10:14:13

Sunlive
15.06.2018
10:14:20
как будто что то новое

Denis
15.06.2018
10:14:21
затем.jpg
ну просто наследование можно заменить

Сергей
15.06.2018
10:14:29
лол

Алексей
15.06.2018
10:14:50
а зачем тебе наследование?
Мне в одном месте хотелось бы, чтобы базовый класс владел информацией, которая появляется только в классе-потомке.

Aleh
15.06.2018
10:15:46

Denis
15.06.2018
10:16:06

Алексей
15.06.2018
10:16:32
Вот видите какие костыли пошли. Декораторами надо.
А в Go нет декораторов
и наследования нет

Denis
15.06.2018
10:16:44
это первое что в голову пришло

Google

Denis
15.06.2018
10:16:55
а не синтаксис

Дмитрий
15.06.2018
10:17:16

Алексей
15.06.2018
10:17:17
И единственный способ, который я вижу - это явно передавать объект в каждый вызываемый метод.
Что весьма костыльно
Фу, наследование реализаций
Как я уже тут приводил примеры, есть вещи, которые без наследования реализаций красиво и нормально сделать либо нельзя либо сложно.
И вообще не стоит впадать в крайности.

Denis
15.06.2018
10:19:56
один раз

Алексей
15.06.2018
10:20:40
Ну то есть фактически самому реализовать то самое наследование

Дмитрий
15.06.2018
10:20:51
Не вижу ничего сложного в том чтобы прочитать свойства объекта

kana
15.06.2018
10:20:55

Дмитрий
15.06.2018
10:21:22

Denis
15.06.2018
10:21:33

Алексей
15.06.2018
10:21:47

Дмитрий
15.06.2018
10:21:58
Наоборот
Наследование будет вести себя как включение

Алексей
15.06.2018
10:22:27
вот прям в точности, вплоть до виртуальных методов
Единственное отличие будет в том, что всё это будет реализованно руками, а не компилятором

Google

Denis
15.06.2018
10:22:56

Сергей
15.06.2018
10:23:28

Дмитрий
15.06.2018
10:24:25
class Child {}
class Parent {
child: Child
}
Вжух! Чтение свойств наследника из базового класса

Алексей
15.06.2018
10:25:18

Сергей
15.06.2018
10:25:32
только это не разруливание
вообще ни разу

Дмитрий
15.06.2018
10:26:00

Сергей
15.06.2018
10:26:03
виртуальные методы немного не так работают (в плюсах по крайней мере)

Алексей
15.06.2018
10:26:19
и как же они работают?

Сергей
15.06.2018
10:26:28
в зависимости от типа
Child foo = new Parent()
foo->doSmth()
будет вызван у чайлда

Алексей
15.06.2018
10:27:34
кто-то тут запутался, и скорее всего это я

Сергей
15.06.2018
10:27:36
и есть ещё несколько кейсов динамической диспетчеризации
которые я не вспомню сходу

Алексей
15.06.2018
10:28:44
тут наоборот надо
Parent *foo = new Child();
foo->doSmth();

kana
15.06.2018
10:29:20
это же каким умным нужно быть что со всем этим программировать

Дмитрий
15.06.2018
10:29:53
Обычным

Алексей
15.06.2018
10:29:54
да не гением точно

Сергей
15.06.2018
10:30:08