На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела:
1. Название темы - краткое описание кто/что против кого/чего
2. В первом сообщении - список параметров, по которым идет сравнение.
3. Старайтесь аргументировать свои высказывания. Фразы типа "Венда/Слюникс - ацтой" считаются флудом.
4. Давайте жить дружно и не доводить обсуждение до маразма и личных оскорблений.
Модераторы: Модераторы, Комодераторы
Страницы: (495) « Первая ... 203 204 [205] 206 207 ...  494 495  ( Перейти к последнему сообщению )  
> Delphi vs C++ vs C# , ну и Java немножко, где-то ближе к старшему байту номеров страниц
    Цитата D_KEY @
    Изменения? Не знаю. Но может быть для чего-то и пригодится.
    Доступ к ним непосредственно на чтение может понадобится например для автоматического модульного тестирования.
    В любом случае, не нравится - не используй.

    Да чуть выше посмотрите пример. Там только чтение, правда.
      Цитата IL_Agent @
      Цитата D_KEY @
      Ну почему же не напишешь?
      Формально делаем += простым синтаксическим сахаром над x = x + y и все встает на свои места.

      А если вместо s - поле иммутабельной структуры ?

      Никак. Зачем что-то менять в иммутабельной структуре?
      Еще интересно, что будет пониматься под структурой :) Поля структуры могут быть "расширены"(т.е. не быть ссылками), а могут быть ссылками.

      Добавлено
      Цитата Romkin @
      Цитата D_KEY @
      К чему этот вопрос?
      Ты о низкоуровневых указателях на функцию и метод? Тут разница есть. А в функторе можно представить и то, и другое. Разницы действительно нет.
      Это абстракции разных уровней.

      Мне понять анонимный метод гораздо проще, чем функтор, который еще и писать надо :)

      Анонимный метод - тоже функтор :) Функторы для указателей на функцию и указателей на методы уже написаны в стандартной библиотеки С++.

      Цитата
      Цитата D_KEY @
      Нет, ты уже завел эту абстракцию, раз тебе это все понадобилось. Просто ты ее завел неявно. А неявное всегда хуже явного.

      Ничего подобного :) Это взгляд завзятого сишника, которому нужно забраться в коде в печенки каждой абстракции. На самом деле их нужно просто использовать.

      Нет :)
      Ты фактически не наследуешь от конкретного класса, а используешь его интерфейс. Это и есть неявное введение абстракции. А в определении класса увидим наследование...
        Цитата D_KEY @
        Ты фактически не наследуешь от конкретного класса, а используешь его интерфейс. Это и есть неявное введение абстракции. А в определении класса увидим наследование...

        Вот эту фразу я вообще не понял...
          Цитата Romkin @
          Цитата D_KEY @
          Ты фактически не наследуешь от конкретного класса, а используешь его интерфейс. Это и есть неявное введение абстракции. А в определении класса увидим наследование...

          Вот эту фразу я вообще не понял...

          Мы обсуждаем твой пример с классом, который наследует от другого, но лишь предоставляет его интерфейс, а реализацию не использует. Или нет :D ?
            Цитата D_KEY @
            Мы обсуждаем твой пример с классом, который наследует от другого, но лишь предоставляет его интерфейс, а реализацию не использует. Или нет

            Бррр. Чего? Какой пример? :)
              Цитата Romkin @
              Цитата D_KEY @
              Мы обсуждаем твой пример с классом, который наследует от другого, но лишь предоставляет его интерфейс, а реализацию не использует. Или нет

              Бррр. Чего? Какой пример? :)

              Тогда о чем ты :D ?
                D_KEY, все, я уже запутался :whistle:
                  Romkin, я напутал :blush:
                  Сегодня явно не мой день :)
                    Цитата IL_Agent @
                    А если вместо s - поле иммутабельной структуры ?
                    Будет все так, как надо

                    Например, в C/C++
                    ++i;
                    i += 1;
                    i = i + 1;
                    дают одинаковый результат (в случае пользовательского типа программист обязан обеспечить такое поведение)

                    Объявим теперь i как константу
                    Результат опять будет одинаковым - сообщение о попытке изменить константу (или вызов неконстантного метода для константы)

                    В питоне, кстати, есть операция +=, применимая и к переменным, имеющим значение иммутабельного типа. Просто дело в том, что += не обязана применяться к значению, она может быть применена и к переменной (путем замены x += y на x = x + y).
                      Цитата amk @
                      В питоне, кстати, есть операция +=, применимая и к переменным, имеющим значение иммутабельного типа. Просто дело в том, что += не обязана применяться к значению, она может быть применена и к переменной (путем замены x += y на x = x + y).

                      Именно об этом я и говорю. А для встроенных типов компилятор может использовать непосредственно значения, это не будет менять видимого поведения.
                      Сообщение отредактировано: D_KEY -
                        Цитата D_KEY @
                        Цитата
                        4. Разделение на структуры, классы и интерфейсы, с четким разделением функций и контролем на уровне языка. Когда класс - просто структура можно сказать, что интерфейс - абстрактный класс.

                        Нет, дело не в "структуре". Множественное наследование(в том числе и классов, а не интерфейсов) - вполне етественно, а его запрет отражается на возможностях моделирования. Читай теорию ООП, того же Б.Мейера. Чистые интерфейсы(в том виде, в котором они есть в C#, Java, Delphi) нужны только для затыкания дыры запрета множественного наследования. Никакой другой полезной нагрузки они не несут.

                        Вот сижу и думаю над тем, что интерфейсы не нужны. Была у меня задачка, как насчет двоичного делегирования?
                          Цитата Romkin @
                          Вот сижу и думаю над тем, что интерфейсы не нужны. Была у меня задачка, как насчет двоичного делегирования?

                          Это шо за слова такие новые? Что еще за "двоичное делегирование" ? Ссылку мона на покурить? :blush:
                            Цитата Romkin @
                            Была у меня задачка, как насчет двоичного делегирования?

                            Если это докажет необходимость интерфейсов(в таком виде, что есть в шарпе/яве/делфи), то давай :yes:
                            Только поясни задачу :)
                              Цитата korvin @
                              начни отсюда
                              Начал. Ничего не понял, запутался в скобках. Из английского понял, что против копий там не возражают. Ничего другого из относящегося к предмету твоего поста там не нашёл. Наверно ты что-то напутал. То ли в посте, то ли в ссылке.
                                Цитата Qraizer @
                                Наверно ты что-то напутал.

                                нет, просто ты
                                Цитата Qraizer @
                                Ничего не понял
                                1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (495) « Первая ... 203 204 [205] 206 207 ...  494 495


                                Рейтинг@Mail.ru
                                [ Script execution time: 0.3096 ]   [ 14 queries used ]   [ Generated: 1.08.26, 08:43 GMT ]