Турбо Паскаль 6.0

Статические методы.


Статический метод не может быть перекрыт. Порожденный тип может определить метод с тем же именем, используя совершенно другие аргументы и тип возврата, если необходимо, но статические методы не поддерживают полиморфизм. Это наиболее критично, когда Вы вызываете методы динамических объектов. Например, если PGeneric - переменная указателя типа PView, Вы можете назначить ему указатели любого типа из его иерархии. Однако когда Вы делаете ссылку по переменной и вызываете статический метод, вызванный метод всегда будет из TView, поскольку этот тип указателя определен во время компиляции. Другими словами, PGeneric^.StaticMethod всегда эквивалентен TView.StaticMethod, даже если Вы назначаете PGeneric указатель другого типа. Например TView.Init.



Содержание раздела