Attribute, Methoden und Ereignisse aller Sichtbarkeitsbereiche einer Klasse können bei Bedarf in ein von der Klasse implementiertes Interface verschoben werden. Beachten Sie jedoch, dass eventuell die Sichtbarkeit der Komponenten nach der Verschiebung nicht erhalten bleibt, da Interfaces nur über PUBLIC-Komponenten verfügen.
Beachten Sie, dass generell eine Konfliktsituation entsteht, falls eine Methode, die Sie in ein Interface verschieben, in einer Unterklasse bereits neu definiert wurde. In diesem Fall muss die Unterklasse eine andere Methode, nämlich die Interface-Methode neu definieren. Diese Situation wird vom Refactoring-Assistenten erkannt, der die notwendigen Anpassungen in der Unterklasse für Sie durchführt.
Legen Sie einen Alias für jede verschobene Komponente an. Dadurch werden die Benutzer dieser Komponenten nicht invalidiert.
...
1. Wählen Sie die Klasse.
2. Vergewissern Sie sich, dass Sie sich im Änderungsmodus befinden.
3. Wählen Sie das Menü Hilfsmittel → Refactoring → Refactoring-Assistent.
4. Wählen Sie die zu verschiebende Klassenkomponente aus und verschieben Sie diese via Drag und Drop auf den Namen des Interfaces.
5. Wählen Sie Sichern.
Die verschobenen Klassenkomponenten werden im Interface angelegt. Allen PRIVATE- oder PRETECTED-Komponenten wird automatisch die Sichtbarkeit PUBLIC zugeordnet. Wurden Methoden mit bereits vorhandener Implementierung verschoben, bleibt die Implementierung erhalten.