Delphi vs C++ vs C#
, ну и Java немножко, где-то ближе к старшему байту номеров страниц
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
| ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
| [216.73.216.156] |
|
|
Правила раздела:
| Страницы: (495) « Первая ... 302 303 [304] 305 306 ... 494 495 ( Перейти к последнему сообщению ) |
Delphi vs C++ vs C#
, ну и Java немножко, где-то ближе к старшему байту номеров страниц
|
Сообщ.
#4546
,
|
|
|
|
Ну вот хотя бы из вики: Цитата Примесь (англ. mixin) — элемент языка программирования (обычно класс или модуль), реализующий какое-либо чётко выделенное поведение. Используется для уточнения поведения других классов, не предназначен для порождения самостоятельно используемых объектов. В объектно-ориентированных языках программирования является способом реализации классов, отличным от широко используемых принципов, пришедших из языка программирования Simula. Механизм впервые реализован в Flavors. Преимуществом примесей является то, что повышая повторную используемость текстов программ, этот метод избегает многих проблем множественного наследования. Однако при этом метод накладывает свои ограничения. Причем тут интерфейсы? |
|
Сообщ.
#4547
,
|
|
|
|
Romkin, ну, и да, вики
![]() Цитата В список языков, поддерживающих множественное наследование, входят: Eiffel, C++, Dylan, Python, Perl, Curl, Common Lisp (благодаря CLOS), Delphi (благодаря Class Helpers), OCaml, Tcl (благодаря Incremental Tcl), а также Object REXX и Ruby (за счет использования классов-примесей). |
|
Сообщ.
#4548
,
|
|
|
|
MyNameIsIgor, у каждого свои извращения. У кого-то - множественное наследование, у кого-то - свойства.
Цитата — Ты функциональщик! - прокричал Сергей на весь оупен-спейс-рум номер 14. Комната притихла в ожидании развязки. — Я видел, как ты вчера вечером каррировал и декаррировал прямо за рабочим компьютером! Неодобрительный ропот и возгласы удивления прокатились по комнате. Кто-то громким шепотом сказал “какой ужас, а я с ним за руку здоровался”. — Знаешь что, Сергей, — сказал Денис, вставая из-за рабочего стола, — любой нормальный мужчина, если у него всё в порядке, может позволить себе позаниматься функциональным программированием. Это естественно. Каждый хотя бы раз, да пробовал. Зачем только об этом кричать на всю комнату? Я же не кричу, что ты объектно-ориентированный! Девушки захихикали, кто-то снова громко пробормотал “ну надо же, а по нему и не скажешь”. Присутствовавший при этом Игорь Матвеевич сильнее вжался в кресло. Только бы никто не узнал про его процедурные наклонности! |
|
Сообщ.
#4549
,
|
|
|
|
Цитата Romkin @ MyNameIsIgor, у каждого свои извращения. У кого-то - множественное наследование, у кого-то - свойства. Вот уж действительно русский форум, бессмысленный и беспощадный. Мало того, что не у вас спрашивал, так ещё и ваши |
|
Сообщ.
#4550
,
|
|
|
|
Цитата scorpion @ Причем тут интерфейсы? В Delphi можно реализовать примесь с помощью интерфейса. Это один из его аспектов использования. Интерфейсы и предназначены для расширения функциональности на конкретном уровне иерархии, а не для наследования. Цитата MyNameIsIgor @ А при чём тут их количество? Я спросил про нужность. Цитата (Romkin @ Сегодня, 13:05) Я навскидку назову C++ и Python Я бы ещё добавил OCaml, Perl, CL, Eiffel... Ну эти гораздо менее популярны. А нужность - есть куча языков, в которых нет множественного наследования, и все равно неплохо обходятся. Кстати, хелперы в Delphi все же механизм, резко отличный от множественного наследования, что называется, "подмазали до кучи". Добавлено Цитата MyNameIsIgor @ Вот уж действительно русский форум, бессмысленный и беспощадный. Мало того, что не у вас спрашивал, так ещё и ваши ответы инсинуации никак к заданному вопросу не относятся. Как уж на сковородке, право слово. Относятся. На самом деле и без объектов можно программировать, и с удобствами. А уж без множественного наследования - тем более. Ответ просто подразумевается. |
|
Сообщ.
#4551
,
|
|
|
|
Цитата scorpion @ Цитата D_KEY @ Тут тебе это наглядно показали. Читай книги по языкам, где есть интерфейсы - Java, C# и т.п. Мне показали синтаксический сахар, и не более. Думаю, продолжать бесполезно. Может стоит немного поработать с языками, где интерфейсы есть? Добавлено Цитата Romkin @ у каждого свои извращения. У кого-то - множественное наследование... множественное наследование - это не извращение, а средство моделирования предметной области. |
|
Сообщ.
#4552
,
|
|
|
|
Цитата D_KEY @ Думаю, продолжать бесполезно. Может стоит немного поработать с языками, где интерфейсы есть? Ну, в шарпе и джаве интерфейсы были придуманы из-за отсутствия множественного наследования, и выглядят они действительно если и не сахаром, то как минимум некой автоматизацией... |
|
Сообщ.
#4553
,
|
|
|
|
Цитата MyNameIsIgor @ Ну, в шарпе и джаве интерфейсы были придуманы из-за отсутствия множественного наследования Ага. Цитата и выглядят они действительно если и не сахаром, то как минимум некой автоматизацией... Это все потому, что ты пытаешься разобраться, скажем так, в реализации. Если ты рассмотришь концепции, то увидишь просто другую схему моделирования. |
|
Сообщ.
#4554
,
|
|
|
|
Цитата D_KEY @ Это все потому, что ты пытаешься разобраться, скажем так, в реализации. Если ты рассмотришь концепции, то увидишь просто другую схему моделирования. Так я об этом и говорю ![]() Цитата MyNameIsIgor @ из-за отсутствия множественного наследования а не из-за следования какой-то концепции. В шарпе и джаве, они выглядят так, как будто была установка "Как в плюсах, но давайте выпилим множественное наследование, вставив замену в виде интерфейсов". Т.е. для программиста ни по синтаксису, ни по поведению (кроме озвученных особенностей) не видно особой разницы с абстрактными классами. Оттого и говорят не "реализовать интерфейс", а "наследоваться от интерфейса". Не выглядят они самостоятельной концепцией. Вот в Go - да, выглядят, но там мне другое не нравится. |
|
Сообщ.
#4555
,
|
|
|
|
|
Сообщ.
#4556
,
|
|
|
|
Цитата MyNameIsIgor @ Не выглядят они самостоятельной концепцией. Вот в Go - да, выглядят Пойду посмотрю |
|
Сообщ.
#4557
,
|
|
|
|
|
Сообщ.
#4558
,
|
|
|
|
Цитата DesweR @ Эти вопросы к разработчикам компиляторов Может, к проектировщикам языков? Да и к ним тоже не совсем в тему... Потребители, т.е. программисты, должны определять требования к языкам... в идеале. |
|
Сообщ.
#4559
,
|
|
|
|
Цитата DesweR @ Эти вопросы к разработчикам компиляторов ![]() Почему? Если в твоей системе множественное наследование лучше отражает предметную область, то почему нужно использовать обходные пути(интерфейсы, миксины и т.п.)? |
|
Сообщ.
#4560
,
|
|
|
|
Цитата D_KEY @ Цитата (MyNameIsIgor @ Сегодня, 14:42) Не выглядят они самостоятельной концепцией. Вот в Go - да, выглядят Пойду посмотрю Там вроде утиной типизации, типа если объект удовлетворяет объявленному интерфейсу - значит, он его реализует. А в чем видно-то различие? Добавлено Цитата D_KEY @ Если в твоей системе множественное наследование лучше отражает предметную область, то почему нужно использовать обходные пути(интерфейсы, миксины и т.п.)? Если множественное наследование отражает, то и интерфейсы отражают. Зато нет вопросов что белать с ромбом в наследовании |