Delphi - Интерфейсы и директива о перегрузке - PullRequest
3 голосов
/ 24 октября 2011

Я немного запутался в интерфейсах в Delphi, поэтому я спрашиваю вас об этом. Интерфейс может быть «связан» с абстрактным классом. (Он не реализует методы, объявленные для него.) Все методы, объявленные для него, реализованы в классе / классах, которые / реализуют интерфейс.

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

type 
 IFoo = interface
  function Test : String; overload;
 end;

Компилятор молчит об этом.

1 Ответ

9 голосов
/ 24 октября 2011
  1. overloaded позволяет иметь несколько методов с одинаковыми именами, но с разными наборами параметров в одном классе / интерфейсе.
  2. Ваш интерфейс имеет метод Test. С этим единственным методом нет необходимости в overloaded. Но при необходимости вы можете ввести дополнительные Test методы с различными наборами параметров.
  3. Возможно, вы думаете о директиве override ...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...