Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Для новичков > статические методы


Автор: 31416 12.4.2007, 06:57
Подскажите - есть ли в Delphi возможность задавать статические методы (типа как в Java)

к примеру:
myclass = class

 function static_method():boolean;

 private

 public

end.

а потом чтобы в коде можно было вызывать без привязки к объекту: - 
myclass.static_method();

такой код работать не хочет - подскажите есть ли в дельфи подобное или альтернативы?

и еще интерсно есть ли возможность задать константу - тоже связанную с конкретным классом - т.е аналог
(public static final в Java)

Автор: Beltar 12.4.2007, 07:31
Они объявляются так:

class Function ClassName:String;

Можно использовать и статические члены через class var. Идти по-моему они должны после обычных полей в секции.

А вот http://forum.vingrad.ru/topic-145369/30.html вчера TObject вспоминали, как он объявлен, там посмотри.

Автор: 31416 12.4.2007, 19:56
С методами все ясно) спасибо!
если можно - про статические члены через class var поподробнее - на примере)  ?

Автор: skyboy 12.4.2007, 22:11
Цитата(Beltar @  12.4.2007,  06:31 Найти цитируемый пост)
Можно использовать и статические члены через class var. 

Тут надо бы уточнить, с какой версии начинается поддержка такой фичи.  В 7-ке в наличиеи отсуствия статических членов. К сожалению :(

Автор: Beltar 12.4.2007, 23:18
В BDS 2006 есть. Объявляется так (пример из хелпа):

Код

    TMyClass = class
      public
        class var        // Introduce a block of class static fields.
          Red: Integer;
          Green: Integer;
          Blue: Integer;
        var              // Ends the class var block.
          InstanceField: Integer;
    end;


D7 действительно этого не понимает.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)