Двач,а поясни за ООП, конкретнее за кастратский ООП у которого отобрали множественное наследование?Я про Java\C# и прочие "современные" cладкие хлебушки.Меньше ошибок - хуй, "талантливый" погромист обосрётся везде. При этом: -композиция это "имеет" -наследование это "это" -интерфейс это "может"В итоге мы можем сгондобить костыль через интерфейс, но чото петушинно оно, да и "не повторяйся" нарушается.Проще? Так тоже хуй. да и вообще тогда лучший ОО язык это СИ, или вовсе ассемблер, там нету нихуя ООП, а значит прощеИ да, изосрать весь код смесью говна и спагетти юзая GOTO(C#) значит дохуя пиздато, энтерпрайз и вообще просто, хорошо, читаемо, и сокращает ошибки.А унаследовать от двух классов - нет.
>2k16>ООП
>>885320С++ - OOP(хотя тут можно забить); JAVA - OOP;C# - OOP.Оно энивэйнужно.>>2k16>>ООПЭдак эти дебилы до Common Lisp дойдут.Со всеми лямбдами и MapReduce которые в нём уже дохуя лет как.Это не разум, это мода блять.
>>885325>С++ - OOPИ сразу нахуй. Более уёбищной реализации и искажения всей идеи ООП мир не видовал. Но так как кресты сами по себе - нагромождение недоразумений, то для типичной крестобляди это может быть даже не очевидно. >>885314 (OP)>А унаследовать от двух классов - нет.Как в крестах, чтоб потом разруливать ромбовидные наследования - развлечение для дегенератов. К тому же в 2016 даже в джяваговнах есть трейты/функциональные интерфейсы, так что все твои предьявы invalid. Иди лучше проспись.
>>885339В институте всё делал на CLOS, наследования работали, порой и на ромб было похуй.>Иди лучше просписьНет, уже 6 утра.
Нахуй не нужно.Наследование вообще в принципе в 90% случаев может быть заменено на композицию без особых проблем.
>>885370Дык "расширение функциональности" же.
>>885359В лиспе ромба не бывает.
>>885325С++ - мультипарадигмаЖАБА - говноC# - мультипарадигма> Эдак эти дебилы до Common Lisp дойдут.Ты уже проебан незнанием ничего, кроме ООП и функциональщины.>>885424>Дык "расширение функциональности" же.Хуй ты расширишь класс с более 1 предком, ничего не сломав.
>>885314 (OP)Давай поясню за .NET и C#. C# работает на CLR, CLR допускает множественное наследование тот же CLR/C++ или элементарно на уровне MSIL. На самом деле в C# возможно множественное наследование, но не возможно ромбообразное(оно не поддерживается на уровне CLR), а так как все классы наследуют от System.Object, то используюя только C#, любое множественное наследование - ромбообразное. Если хочешь использовать множественное наследование, то гугли, способы реализации там точно были, но в целом это плохая практика.
>>885547>тот же CLR/C++Там в это могут неуправляемые классы только.
>>885314 (OP)ТЕБЯ МЯГКО НАМЕКАЮТ ЧТО НИЧЕГО КРОМЕ ИНТЕРФЕЙСОВ ИСПОЛЬЗОВАТЬ НЕ РЕКОМЕНДУЕТСЯ
>>885614Ясен пень.Эти бляди не могут, в виду отсутсвия, юзать другое.Вот и НИНУЖНО.
>>885669Давай пример где множественное наследование будет выигрывать у интерфейсов, а то балабол
>>885671При наследовании мы реализацию наследуем, а интерфейс говорит тебе "ЭЙПЕТУХСДЕЛАЙКАЭТО".И вот петуханы с синдромами утёнка и стокгольмским клепают лишний код и кудахчут о том как же хорошо.И да, давай ка пример где интерфейсы выигрывают.
>>885673жырно зеленопереиспользователь мамкин, кроме класса Figure на лабах по жяве в своей нищей шараге ты нихуя не переиспользовал никогда.
множественное наследование не нужно.интерфейсы не нужны.абстрактные методы тоже не нужны.private разрешает методам родителя быть вызванным в потомках.инкапсуляция ломается на раз-два.привет вам из мира руби, сверх-высокоровнего-яп, и т.д. и т.п.
>>885684в руби есть интерфейсы, только ты их сам описываешь и выносишь в примеси и абстрактные методы там реализуются и используются в рельсах. привет ApplicationController, ApplicationModel, ApplicationView. Инкапсуляцию это дисциплина а не стена от индусов, если не будешь писать нормальные интерфейсы и под ними закрытые методы то ты пидор
>>885688> в руби есть интерфейсы, только ты их сам описываешь.То что я могу написать велосипед, не значит что в языке руби есть этот велосипед из под коробки.
>>885692> реализуются и используются в рельсахпричем здесь рельса, кловун? см. выше.
>>885692Ой блять даже говорить с тобой не буду дебил ты ебаный. Ты хоть на первую работу устроился уже?
>>885696Ты уж определись, не будешь со мной говорить, или хочешь поговорить о моей работе, кловун.p.s. если бы в руби были абстратные классы из-под коробки, то у такого костыля как https://rubygems.org/gems/abstract/небыло 6кк закачек, кловун.p.p.s. на EuRuKo 2016 Матц говорил об интерфейсах в контекте руби. посмотри кловун. p.p.p.s 100кp.p.p.p.s а теперь идешь нахуй.
>>885707> абстратные классыопечатался, методы конечно же.
>>885707Матц это она.То есть на первую работу устроился уже? Ну малаца дальше работай старательно пару лет и может поумнеешь. 6кк закачек там потомучто в руби вкатились такие специалисты как ты. Если ты не можешь написать метод и в нем написать raise и тебе для этого надо ставить гем, то ты именно что объектный слесарь. Тебе надо на уровне языка новый кейворд добавить чтобы это костылем перестало быть?
class ArtistCowboy/thread
>>885314 (OP)Разве "предпочитайте композицию наследованию" - не один из основных принципов ООП?https://en.wikipedia.org/wiki/Composition_over_inheritance
>>885711> Матц это она.прекрати, содомит))) https://en.wikipedia.org/wiki/Yukihiro_MatsumotoОбщаться по тезисам которые выдумал ты, но описал их так, словно они мои не буду. Живи с миром в своём rails мирке, друг)
>>885730но я не пишу на рельсах :3А про метц я говори Sandi Metz, которая продвигает ооп идеи у рубистов. Матцумото не особо то и хороший программист, как и дизайнер языков.Я пишу на функциональных языках и ору с того как ты говоришь что тебе не нужны интерфейсы и что в руби они костыльные. В руби они самые что ни на есть честные, чисто модуль с функциями который ты подмешиваешь в другие классы. Но если ты такое не понимаешь то это твои проблемы. Абстрактный метод реализовать как нехуй, это метод в миксине который кидает ошибку. В классе куда ты его подмешаешь ты должен будешь его переопределить.
>>885547> Давай поясню за .NET и C#. C# работает на CLR, CLR допускает множественное наследование А разве в C# есть множественное наследование классов? Насколько я знаю, такой трюк работает только с интерфейсами.
>>885751> А про метц я говори Sandi MetzТы даже не понял о ком идет речь)))> ору с того как ты говоришь что тебе не нужны интерфейсы и что в руби они костыльные. В руби они самые что ни на есть честныеТакой смешной))) Интерфейсы в руби не честные или нечестные. Из-под коробки их нет. Хочешь, пишешь свой миксин, который будет ко-ко-ко абстрактным, ко-ко-ко кидать экспепшены, если он (миксин) включен в класс, но не реализован; и т.п. штуки.> Абстрактный метод реализовать как нехуй.Это неважно, тезис в том что абстрактного метода нет из-под коробки. Все что ты можешь, это говорить: 'это _просто сделать_ поэтому и некостыльно'. Мастер аргументации)))Но факт остается фактом, в одном случае ответственность за проебанный вызов лежит на тебе, а в другом — тоже на тебе, но есть помощник в виде компилятора и стандартов языка, что не даст забыть отрезать тебе свои ручки)
>>885822Все с тобой понятно. Ты дебил и надеешься что компилятор выпрямит твои кучерявые клешни.Так вот нихуя :3Тебе ваще сколько лет? Кому ты пиздишь, что ты что-то там зарабатываешь. Ты же даже на ебаные вопросы на джуниора не ответишь, это как раз как сделать абстрактный метод в руби и определить типовый класс.Из коробки ему блять подавай, а поебаться тебе не завернуть? Личинка инженера
>>885370>Наследование вообще в принципе в 90% случаев может быть заменено на композицию без особых проблем. Поясните за эту фразу. Уже сколько раз ее слышал в подобных тредах, но так и не могу уяснить нахуя это вообще нужно? В чем профиты композиции перед наследованием? Почему плохо - пользоваться встроенными в язык инструментами и зачем надо изобретать свои?
>>885370>в 90% случаев>я нихуя не разбираюсь в этом, но напишу-ка я цифру с потолка, чтобы мой высер казался убедительнее
>>886155https://www.youtube.com/watch?v=XgoldEoK-Rw&index=7&list=PLPIzp-E1msrYicmovyeuOABO4HxVPlhEAДаже индус понимает в быдлокодинге больше тебя.Можешь смотреть с 34 минуты, если влом всё смотреть.
>>886708Видеотуторы для петухов, уходи.
>>886713Что, английский не можешь осилить?
>>885822Нахуя в динамическом языке абстрактные методы искаропки?
>>886724Сиди и смотри как быдло то что читается раз в 5 быстрее.
>>886764Нахуя тебе вообще что-то из коробки? Пиши на голом си, или вообще на ассемблере.
>>886764хотя бы затем, чтобы я не плакал, видя как очередной сердобольный пишет код вида:### abstractdef methodendА еще отсутствие стандарта в языке или его библиотеке порождает дохуя вариаций на тему. В жопу такой way и ооп. Хотя бы AbstractCallError < StandartError добавить в основную библиотеку, а то приходится использовать позорный NoImplementError, что не отражает сути проблемы. ---Дали полиформизм, дали обрубленную инкапсуляцию, а дальше ебись как хочешь, Вась. Отсюда рождаются кловуны как этот >>885751, что незнают что писать +чисто модули+ с (абстрактными) 'функциями' в руби -- идиотизм чистой воды. ---А динамические природа языка меняет ооп, привнося duck typing, что частично компенсирует отсутствие интерфейсов в чистом их виде. Но не объянять все это школьнику выше.
>>887170Придурок блять, что такое дак тайпинг? И что такое класс типов? и нахуя нужны интерфейсы? Наверное затем, что мы хотим чтобы некоторые разные типы(классы) обладали некоторым одинаковым интерфейсом, но реализовывали свое поведение по разному. ООП у него меняется. твое ебланское представление об ооп основано на таких ублюдках как джава и прочие поделия. ООП это когда ты описываешь систему в виде объектов, которые обмениваются сообщениями. Дак тайпинг это и есть правильный интерфейс, сообщение одно, объекты разные. А ну пиздуй назад в свою джава пещеру.
>>887377Вот я(оп) и спрашивал, шо за хуета ОО-языками.Стандарты ЯЗЫКОВ есть. Понятие полноты(по Тьюрингу) есть.А вот ООП каждый гондобит как могёт.
>>887398Причем, популярные но кастрированные поделия(жаба\шарп к примеру) влияют на умы юзеров, и вот уже костыли это догма.
>>887399А в чем проблема-то? ПИЧОТ от того что ваши абстрактные теоретические понятия никому не нужны, а нужны простые прикладные решения?Вообще у вас какое-то обострение нынче, в половине тредов идет ООП срач, в котором участвует какой-то дурачок (не ты ли?) верещащий что джава-с++ это не ооп, и вообще все в меире все делают неправильно
>>888349Нет, не я.Я про то что тут ПЛОХОЕ ООП.
Есть тайпклассы. Все остальное нахуй