2013-05-14 2 views
2

У меня есть пример кода, как этотДельфи-ярлык для реализации метода интерфейса и абстрактный метод от интерфейса предка или класса

IExample=interface 
    procedure Test; 
end; 

TBaseClass=class 
    function Check:boolean;abstract; 
end; 

TExampleObject=class(TInterfacedObject,IExample) 
end; 

TAnotherObject=class(TBaseClass) 
end; 

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

Я использую Visual Studio и C#, очень просто сделать реализацию из абстрактного метода и метода интерфейса, просто щелкнув правой кнопкой мыши на моем классе и методом реализации.

Есть ли в RAD Studio XE2 аналогичный инструмент или сторонний инструмент, который имеет такую ​​же функцию? потому что это раздражает, если я должен написать все абстрактные и интерфейсные методы вручную.

+0

Не будьте ленивы, что программисты должны написать код вручную, после того, как все;) – OnTheFly

+1

я не имею в виду ленивый, но свести к минимуму ошибки или синтаксической ошибки в своем коде , поэтому я могу сосредоточиться на моей логике программного обеспечения, если абстрактного метода или метода интерфейса мало ... Я не возражаю, но если у вас много методов абстрактного метода или интерфейса, мое время будет много потреблять, чтобы писать и убедиться, что моя реализация верна .. – navirius

+0

Я не вижу ни значительного потребления времени, ни склонности к ошибкам. Просто прототипы метода копирования и вставки и вернитесь к логике. Эта задача слишком тривиальная, чтобы беспокоиться о автоматизации. – OnTheFly

ответ

6

Я полагаю, есть плагины IDE, которые предлагают функциональные возможности, которые вы хотите.

Я использую этот метод каждый день:

Скопируйте методы из своего интерфейса к публичной части вашего класса, установите курсор на один из этих методов и выполнить ярлык CTRL-SHIFT-C. Delphi автоматически создаст функции/процедуры в разделе реализации для вас!

Это работает для всех классов ...

2

Да, было бы неплохо, если бы это работало для функций наследуется через интерфейсы тоже, и было бы неплохо, если бы он работал в интерфейсах себя для создания геттер/сеттеры для свойств интерфейса !

Это, я буду регистрировать его с QC (если его еще нет) в качестве хорошего предложения.

Update: Здесь вы идете :) - http://qc.embarcadero.com/wc/qcmain.aspx?d=121748

+1

Обратите внимание, что [QualityCentral теперь закрыт] (https://community.embarcadero.com/blogs/entry/quality-keeps-moving-forward), поэтому вы больше не можете обращаться к ссылкам 'qc.embarcadero.com' , Если вам нужен доступ к старым данным QC, посмотрите на [QCScraper] (http://www.uweraabe.de/Blog/2017/06/09/how-to-save-qualitycentral/). –

Смежные вопросы