На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела:
1. Название темы - краткое описание кто/что против кого/чего
2. В первом сообщении - список параметров, по которым идет сравнение.
3. Старайтесь аргументировать свои высказывания. Фразы типа "Венда/Слюникс - ацтой" считаются флудом.
4. Давайте жить дружно и не доводить обсуждение до маразма и личных оскорблений.
Модераторы: Модераторы, Комодераторы
Страницы: (245) « Первая ... 102 103 [104] 105 106 ...  244 245  ( Перейти к последнему сообщению )  
> Есть ли будущее у DELPHI?
    Цитата korvin @
    Java:
    ...
    Delphi:
    ...

    а зачем это?

    написать обычные функции в модуле и всё...
      Цитата Shaggy @
      написать обычные функции в модуле и всё...

      В Java нет "обычных функций"
        Цитата Мяут-Настоящий @
        В Java нет "обычных функций"

        бугога! :lol: родили себе проблему и "мужественно" её преодолели... смотрите, мол, как мы можем...

        PS to korvin: use "with" Lyke ©...
          Цитата Shaggy @
          Цитата korvin @
          Java:
          ...
          Delphi:
          ...

          а зачем это?

          написать обычные функции в модуле и всё...

          Изначальный вопрос был о возможности импорта статических методов класса.
            Цитата Shaggy @
            PS to korvin: use "with" Lyke ©...

            Это ты в каком синтаксисе сейчас написал? И что такое «Lyke»?

            Напомни-ка мне, имеют ли в Делфи функции модуля доступ к strict private данным объекта?
              Цитата D_KEY @
              Изначальный вопрос был о возможности импорта статических методов класса.

              функции описаны в классе, значит создатель класса либо (по какой-то причине) хотел, чтобы их вызывали именно так: class.method
              либо по другому описать эти функции просто не мог

              если очень хочется вызывать как method, то в делфи есть ключевое слово with...

              Цитата korvin @
              Напомни-ка мне, имеют ли в Делфи функции модуля доступ к strict private данным объекта?

              напомни-ка, когда у нас появился объект? до сих пор был только класс...
                Цитата [S]mike @
                Capture.jpg

                ЫЫ))) Фирмовый акцесс виолетион :crazy:


                Цитата Shaggy @
                написать обычные функции в модуле и всё...

                use ООП luke :D
                  Цитата Shaggy @
                  если очень хочется вызывать как method, то в делфи есть ключевое слово with...

                  С которым можно огрести неплохой геморрой — это уже обсуждалось.

                  Цитата Shaggy @
                  напомни-ка, когда у нас появился объект? до сих пор был только класс...

                  да хоть когда
                  ExpandedWrap disabled
                    public class Int {
                     
                        private final int value;
                     
                        public Int(int value) {
                            this.value = value;
                        }
                     
                        static public Int add(Int x, Int y) {
                            return new Int(x.value + y.value);
                        }
                    }
                    Цитата Besha @
                    use ООП luke

                    ООП ради ООП?

                    Добавлено
                    Цитата korvin @
                    С которым можно огрести неплохой геморрой — это уже обсуждалось.

                    какой? в данном случае?
                    Цитата korvin @
                    да хоть когда

                    ну если у меня обычные функции, то класс как-бы не нужен...
                    а с функциями strict private секции, прекрасно справится секция implementation

                    Добавлено
                    Цитата korvin @
                    да хоть когда

                    погоди-ка, чего-то я не понял
                    т.е.
                    ExpandedWrap disabled
                      import static mypackage.myunit.Foo.*;

                    принимает экземпляр класса(ака объект)?
                    Сообщение отредактировано: Shaggy -
                      Цитата Shaggy @
                      какой? в данном случае?

                      В любом случае. Имя метода может оказаться перекрытым другим методом, у меня такое было, ЕМНИП метод Next датасета перекрывался методом Next формы:
                      ExpandedWrap disabled
                        procedure TSomeForm.SomeActionExecute (Sender : TObject);
                        begin
                          with SomeDataSet do begin
                            while not Eof do begin
                              DoSomething;
                              Next;
                            end;
                          end;
                        end;

                      или не Next, а Eof, точно не помню и Делфи под рукой нет, чтобы воспроизвести. Естественно даже хинта от компилятора не было.

                      Цитата Shaggy @
                      а с функциями strict private секции, прекрасно справится секция implementation

                      Ну так раскажи каким образом независимая функция модуля получит доступ к strict private полю.

                      Добавлено
                      Цитата Shaggy @
                      принимает экземпляр класса(ака объект)?

                      import ничего не принимает. import static импортирует все статические члены класса в текущее пространство имен. Как если бы они были членами модуля (в Делфи). Только в реализации статических методов есть полный доступ к внутренностям объектов их класса при работе с этими объектами. Я же показал пример с Int, он вроде прост и понятен.
                        Цитата korvin @
                        Имя метода может оказаться перекрытым другим методом

                        может, как и в твоём случае
                        Цитата korvin @
                        у меня такое было, ЕМНИП метод Next датасета перекрывался методом Next формы:

                        impossible, только если наоборот...

                        но я могу убрать неоднозначность, указав явно чей метод вызывается, а ты?
                        Цитата korvin @
                        Ну так раскажи каким образом независимая функция модуля получит доступ к strict private полю

                        какое strict private поле? у меня класса нет
                        пардон, понял
                        тогда да, класс, такой-же как у тебя + with
                        Сообщение отредактировано: Shaggy -
                          Цитата Shaggy @
                          1) может, как и в твоём случае

                          2) impossible, только если наоборот...

                          3) но я могу убрать неоднозначность, указав явно чей метод вызывается, а ты?

                          4) какое strict private поле? у меня класса нет

                          1) В моем — нет, в Джаве такое невозможно.

                          2) К сожалению possible.

                          3) В джаве конфликты имен невозможны — компилятор не позволит.

                          4) А что у тебя есть? Перепиши мой пример с Int на Делфи.
                            Цитата Shaggy @
                            у меня класса нет

                            А куда он делся-то из исходной задачи :) ? Покажи аналог кода korvin'а с Int.
                            Сообщение отредактировано: D_KEY -
                              Цитата Shaggy @
                              если очень хочется вызывать как method, то в делфи есть ключевое слово with...

                              И забыть о возможностях отладки того куска. Такое мощное слово, только среда его не понимает. Во время отладки не покажет его значение, не даст возможность увидеть декларацию...

                              Цитата DesweR @
                              Вот тут дружок ты и попал в просак :D

                              Да, что-то я уже Delphi начал забывать. Правда твой код все равно не скомпилируется - в конце стоит точка с запятой :D
                                [S]mike, забыл смайлик :tong:
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (245) « Первая ... 102 103 [104] 105 106 ...  244 245


                                Рейтинг@Mail.ru
                                [ Script execution time: 0,1193 ]   [ 15 queries used ]   [ Generated: 23.12.25, 20:25 GMT ]