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

    Эвона как. Я не вижу связи. давай зайдем тогда с другой стороны, зачем нужна секция private ?

    Цитата Romkin @
    почему может быть несколько интерфейсов у класса

    Потому что он может конкретизировать, сразу нескольколько интерфейсов, если по смыслу подходит.

    Цитата Romkin @
    Объект тоже обладает своим интерфейсом, по какой причине он должен дополнительно публиковать еще и методы своих интерфейсов?

    По той же причине, по которой они опубликованы в интерфейсе.

    Цитата DesweR @
    Да.

    Понятно. Т.е. жоско завязан на делфях. И о чем с тобой разговаривать? В С++ можно кастануть, в шарпе, незнаю, давай спросим. И что теперь делать будем? Я считаю, что в делфях при желании тоже можно кастануть.

    Добавлено
    Цитата DesweR @
    Программисты никогда не ошибаюся.

    Мде. К чему это все? У тебя есть машина(интерфейс), у тебя есть дока, как ей пользоватся, но ты ошибся, вытащил двигатель, и пытаешься на нем поехать, так?
      Цитата scorpion @
      Эвона как. Я не вижу связи. давай зайдем тогда с другой стороны, зачем нужна секция private ?

      Не надо заходить с другой стороны. Я просто не вижу обоснования публиковать методы, которые не нужно публиковать.
      Там где используется объект - они не понадобятся, а там где интерфейс - они уже опубликованы, интерфейс прописан в заголовке.
        Цитата scorpion @
        Понятно. Т.е. жоско завязан на делфях. И о чем с тобой разговаривать?

        А о чём мы там разговаривали?

        Цитата scorpion @
        Я считаю, что в делфях при желании тоже можно кастануть.

        Нельзя ;)
          Цитата Romkin @
          Не надо заходить с другой стороны. Я просто не вижу обоснования публиковать методы, которые не нужно публиковать.

          ^&*ля, внезапно: так они уже опубликованы в интерфейсе!

          Цитата DesweR @
          А о чём мы там разговаривали?

          О том, что если у тебя нет реализации интерфейса IA, но, он есть в коде, то его полюбасу ктото когдато, попытаеца юзнуть!

          Цитата DesweR @
          Нельзя ;)

          Ок. Пусть будет нельзя. И что получится, если до разделения интерфейса IA, он повсюду используется? Ты, там помница говорил клиент не пострадает? И как он, получается в коде мертвым грузом(IA) будет висеть? Как вы программите? Потом друг друга проклинаете, какого $^%#$%я тут делает половина функциональности, которая не имеет реализации? Так чтоле ?
            Цитата MyNameIsIgor @

            Гммм... Не понял слегка. Диспетчеру должно быть известно о всей иерархии наследования?

            Нет. Ему должно быть только известно о наборе типов, между которыми он диспетчерезует.
              Цитата DesweR @
              В этом суть абстрактных классов (что, где и как), интерфейсы обязывают только реализацию.

              нет, суть абстрактных классов в предоставлении частичной реализации

              Добавлено
              Цитата Romkin @
              Нормальный. Четкое разделение функций. Фактически интерфейсы используются для присоединения дополнительного функционала, и есть свободный выбор в способах реализации. И четко отделяются области использования основного функционала и этого дополнительного.

              ужас, обычно С++ свойственно использовать общепринятые понятия в каких-то своих смыслах, а тут и делфи неслабо отличилась
                Цитата scorpion @
                ^&*ля, внезапно: так они уже опубликованы в интерфейсе!

                Не внезапно, об этом я уже две страницы говорю: там, гле используют объект, его интерфейсы не понадобятся, там, где используют интерфейс - ничего не знают об объекте. Зачем мне делать второй путь использования функционала?
                  Цитата DesweR @
                  И кому нужна вообще "строгая типизация"? :whistle:

                  опять путаешь теплое с мягким
                    Цитата Flex Ferrum @
                    Нет. Ему должно быть только известно о наборе типов, между которыми он диспетчерезует.

                    Всех типов? А как насчёт динамической регистрации/дерегистрации?
                    Сообщение отредактировано: MyNameIsIgor -
                      Цитата Romkin @
                      там, гле используют объект, его интерфейсы не понадобятся

                      А где он может использоваться, если у него все методы закрытые?

                      Цитата Romkin @
                      где используют интерфейс - ничего не знают об объекте.

                      А в случае с открыми методами, значит знают?

                      Цитата Romkin @
                      Зачем мне делать второй путь использования функционала?

                      Зачем тебе вообще гдето использовать голый класс, если у тебя есть интерфейс?
                        Цитата korvin @
                        обычно С++ свойственно использовать общепринятые понятия в каких-то своих смыслах

                        Например? Кроме функтора мне что-то сейчас ничего в голову не приходит.
                          Цитата scorpion @
                          А где он может использоваться, если у него все методы закрытые?

                          И главное зачем использовать объект, который реализует интерфейс. Ведь есть интерфейс!
                            Цитата MyNameIsIgor @
                            Romkin, у вас крайне странный подход к проектированию...

                            Я плохо читал вашу ветку обсуждения, может не так понял. Но, например, виртуальные методы я часто делаю не просто защищенными, но и закрытыми, оставляя в public невиртуальный интерфейс. Или вы о чем-то другом?
                              Цитата scorpion @
                              Цитата (Romkin @ Сегодня, 12:06)
                              там, гле используют объект, его интерфейсы не понадобятся

                              А где он может использоваться, если у него все методы закрытые?

                              Цитата (Romkin @ Сегодня, 12:06)
                              где используют интерфейс - ничего не знают об объекте.

                              А в случае с открыми методами, значит знают?

                              Цитата (Romkin @ Сегодня, 12:06)
                              Зачем мне делать второй путь использования функционала?

                              Зачем тебе вообще гдето использовать голый класс, если у тебя есть интерфейс?

                              Это что, тот же вопрос в ответ на вопрос?
                              1. Я нигде не говорил, что все методы объекта закрытые
                              2. Открытые методы в объекте подразумевают их открытое использование, зачем тогда интерфейс? Для удовлетворения ограниченности языка?
                              3. Класс может обладать своим функционалом. А может и не обладать. Речь совершенно не о том.
                                Цитата D_KEY @
                                Например? Кроме функтора мне что-то сейчас ничего в голову не приходит.

                                еще map вместо известной функции является ассоциативным массивом, было еще что-то, но сейчас не вспомню
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (495) « Первая ... 318 319 [320] 321 322 ...  494 495


                                Рейтинг@Mail.ru
                                [ Script execution time: 0.4565 ]   [ 15 queries used ]   [ Generated: 31.07.26, 19:24 GMT ]