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


    А у вас мысль возникает что объект всегда ссылочный тип? :)

    А это его как-то обязывает создаваться в куче :) ? И ссылочными типами должны быть все типы языка или ни одного. Неявное деление - путь к неоднозначности и нарушению концепций и абстракции.
      Цитата D_KEY @
      А ты подумай, от чего зависит состояние Rect, от того, на какой объект ссылается закрытое поле Point или от того, какое состояние этот объект имеет? А тут ты напрямую меняешь состояние в обход всех выстроенных абстракций. Так понятно?

      никакого обхода, все согласно интерфейсу. а состояние TRect можно менять как "перемещая точку, на которую повешена вершина", так и "перекидывая вершину на другую точку", как сделаешь, так и будет. в данном случае передвигается сама точка
        Цитата --Ins-- @
        Цитата D_KEY @
        Встраивать в язык фабрики, наблюдателей, адаптеры и т.п. - не вижу смысла.


        А итераторы? :D

        Что итераторы? Итераторы в С++ не встроены. Хотя указатели ими являются :)
          Цитата MyNameIsIgor @
          Тут сочетание непоследованности существования ссылочных типов и типов значений в одном языке и того факта, что свойства провоцируют на плохую инкапсуляцию.

          свойства никого ни на что не провоцируют, Вы уже начинаете "натягивать" С++-ный стиль на делфийский
            Цитата korvin @
            свойства никого ни на что не провоцируют

            Эх, не подписывались вы на их изменения...
            Цитата korvin @
            С++-ный стиль

            Опишите мне его :)
              Цитата korvin @
              свойства никого ни на что не провоцируют, Вы уже начинаете "натягивать" С++-ный стиль на делфийский
              Возможность защитить объект от посягательств -- С++ ный стиль? Это не правда.
                Цитата MyNameIsIgor @
                Опишите мне его :)

                возвращение из методов значений полей (внутренняя реализация), приведенных к константным типам.
                  Цитата korvin @
                  Цитата D_KEY @
                  А ты подумай, от чего зависит состояние Rect, от того, на какой объект ссылается закрытое поле Point или от того, какое состояние этот объект имеет? А тут ты напрямую меняешь состояние в обход всех выстроенных абстракций. Так понятно?

                  никакого обхода, все согласно интерфейсу.

                  Могу согласится с тем, что все согласно интерфейсу. Мне не ясно, почему в этом интерфейсе нельзя сказать, что модификация не допускается. А еще мне не нравится, что есть тип является классом, то поведение одно, а если нет, то другое.

                  Цитата
                  а состояние TRect можно менять как "перемещая точку, на которую повешена вершина", так и "перекидывая вершину на другую точку", как сделаешь, так и будет. в данном случае передвигается сама точка
                  Да, но разве нормально менять состояние объекта в обход его методов? А именно это происходит в первом случае.
                  Мы посылаем сообщение объекту "дай нам точку" и "измени точку", но почему-то после первого сообщения, мы можем менять состояние объекта, уже не используя его интерфейс. Нормально?
                    Цитата Повстанець @
                    Возможность защитить объект от посягательств -- С++ ный стиль? Это не правда.

                    эта возможность есть практически в любом языке. если Вы не умеете ею пользоваться -- это не проблема языка
                      Цитата Shaggy @
                      а если так?
                      Агрегация. Офигенно. Зачем мне тогда свойства? Если TContainedPoint само следит за правильным изменением себя в контексте TRect никакие геттеры сеттеры нафиг не нужны. Просто в паблик его кидай и всё.
                        Цитата D_KEY @
                        Что итераторы? Итераторы в С++ не встроены. Хотя указатели ими являются


                        Любой язык, имеющий оператор foreach, на уровне языка имеет поддерку итераторов. Так что плохого в том, что язык может иметь поддержку фабричных методов, к примеру? Зато велосипеды изобретать не нужно, колеса которых зачастую квадратные ;)
                          Цитата korvin @
                          Цитата MyNameIsIgor @
                          Опишите мне его :)

                          возвращение из методов значений полей (внутренняя реализация), приведенных к константным типам.

                          Это не совсем верно.
                          Например. Поле имеет тип string. Это не ссылка, а значение. Мы можем запросить изменение состояние, в результате этой перемеенной будет присвоено другое значение.
                          В ответ же на запрос этого "свойства" мы можем вернуть или копию объекта, или ссылку на константный объект - для клиента разницы нет.
                          Можем, кстати, вернуть и обычную ссылку на сам объект, и тогда можно будет модифицировать, как в Delphi.
                          Сообщение отредактировано: D_KEY -
                            Предлагаю переименовать "C++ и C# против Delphi". Двое на одного - всегда интереснее :rolleyes:
                              Цитата D_KEY @
                              Могу согласится с тем, что все согласно интерфейсу. Мне не ясно, почему в этом интерфейсе нельзя сказать, что модификация не допускается.

                              можно. я написал как -- не выставлять наружу значение поля.

                              Цитата D_KEY @
                              А еще мне не нравится, что есть тип является классом, то поведение одно, а если нет, то другое.

                              используй только классы в своем коде, кто тебе мешает?
                                Цитата korvin @
                                эта возможность есть практически в любом языке. если Вы не умеете ею пользоваться -- это не проблема языка
                                Да я не против. И не про это. Просто напоминает она мне старый добрый (больше старый, чем добрый) процедурно-модульный подход. Что не особо вписывается в утверждение о мощи объектной системы делфи.
                                1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (495) « Первая ... 47 48 [49] 50 51 ...  494 495


                                Рейтинг@Mail.ru
                                [ Script execution time: 0.1553 ]   [ 14 queries used ]   [ Generated: 29.07.26, 09:15 GMT ]