![]() |
Refactoring-Funktion für Encapsulation?
Hallo zusammen!
Ich bin durch meine Arbeit mit Netbeans inzwischen schon ganz schön verwöhnt. Die von mir am häufigsten benutzte Funktion ist das Encapsulation-Refactoring. Das nimmt einem eine ziemlich nervige Arbeit ab: Das Erstellen von Getter- und Settermethoden für ein Klassenattribut. Nun frage ich mich, ob Delphi(2009) eine entsprechende Funktion auch mitbringt, bzw. ob es irgendeine Erweiterung für die IDE gibt, mit der man diese nachrüsten kann. Vielen Dank :cheers: |
Re: Refactoring-Funktion für Encapsulation?
Folgender Quelltext - handgeschrieben:
Delphi-Quellcode:
Dann STRG-SHIFT-C drücken, Ergebnis:
TMyClass = class
public property Wuppdi: integer read GetWuppdi write SetWuppdi; end;
Delphi-Quellcode:
TMyClass = class
private function GetWuppdi: integer; procedure SetWuppdi(const Value: integer); published public property Wuppdi: integer read GetWuppdi write SetWuppdi; end; ... implementation ... function TMyClass.GetWuppdi: integer; begin end; procedure TMyClass.SetWuppdi(const Value: integer); begin end; |
Re: Refactoring-Funktion für Encapsulation?
Ja, aber:
Wenn man keinen Getter braucht, reicht auch einfach ein
Delphi-Quellcode:
Und mit Strg+Shift+C bekommt man den Setter wie oben und zusätzlich ein Read aus einer privaten Variable FTest: Integer.
{...}
property Test: Integer; Unschönheit: Delphi ergänzt immer ein published. Warum ist mir schleierhaft, weil man das für die Funktion ja nicht immer braucht. |
Re: Refactoring-Funktion für Encapsulation?
Das seh ich aber nicht als "aber", ich hatte extra einen Getter definiert, damit Delphi etwas mehr zu tun hat ;)
|
Re: Refactoring-Funktion für Encapsulation?
Suhuuuuper! Danke! Toll! :hello: Das rettet mir nicht nur diesen Tag...
|
Re: Refactoring-Funktion für Encapsulation?
Das gibts sogar schon mindestens seit Delphi 7 (bei früheren nicht probiert), als Java noch am komfortabelsten in Plaintexteditoren geschrieben wurde :mrgreen:
|
Re: Refactoring-Funktion für Encapsulation?
Ich hab halt da gesucht, wo ich es in Netbeans finden konnte: im Refactoring-Menü. Mir ist nicht in den Sinn gekommen, dass es dafür ne spezielle Tastenkombination geben könnte. Wer weiß, was mir da noch so für Funktionsperlen entgangen sind...
|
Re: Refactoring-Funktion für Encapsulation?
Hmm, ein wenig Genörgel gibt' trotzdem noch. Wo ich in Netbeans nach Ausführung des Kommandos im "Standardfall" nichts mehr zu tun habe, muss ich unter Delphi diesen erstmal implementieren und beispielsweise aus
Delphi-Quellcode:
das hier
procedure TMyClass.SetWuppdi(const Value: integer);
begin end;
Delphi-Quellcode:
machen.
procedure TMyClass.SetWuppdi(const Value: integer);
begin Wuppdi:=Value; end; |
Re: Refactoring-Funktion für Encapsulation?
Deswegen ist Java auch ein Dialekt für Warmduscher :P
:duck: Sherlock |
Re: Refactoring-Funktion für Encapsulation?
Delphi weiß in DeddyH´s Fall ja auch nicht, das du mit einer Variablen arbeiten willst.
Sag der Delphi-IDE, das du diese benötigst und er tut´s auch:
Delphi-Quellcode:
([hust]btw: wer braucht schon getter[/hust]) :wink:
type
TMyClass = class public property Wuppdi: integer read FWuppdi write setWuppdi; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:52 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz