AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Die Delphi-IDE Refactoring-Funktion für Encapsulation?
Thema durchsuchen
Ansicht
Themen-Optionen

Refactoring-Funktion für Encapsulation?

Ein Thema von TheJeed · begonnen am 24. Nov 2009 · letzter Beitrag vom 24. Nov 2009
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von TheJeed
TheJeed

Registriert seit: 11. Jun 2009
Ort: Leipzig
57 Beiträge
 
#1

Refactoring-Funktion für Encapsulation?

  Alt 24. Nov 2009, 11:26
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
Teitmaschine Go!
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Refactoring-Funktion für Encapsulation?

  Alt 24. Nov 2009, 12:47
Folgender Quelltext - handgeschrieben:
Delphi-Quellcode:
  TMyClass = class
  public
    property Wuppdi: integer read GetWuppdi write SetWuppdi;
  end;
Dann STRG-SHIFT-C drücken, Ergebnis:
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;
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Codewalker
Codewalker

Registriert seit: 18. Nov 2005
Ort: Ratingen
945 Beiträge
 
Delphi XE2 Professional
 
#3

Re: Refactoring-Funktion für Encapsulation?

  Alt 24. Nov 2009, 12:55
Ja, aber:

Wenn man keinen Getter braucht, reicht auch einfach ein
Delphi-Quellcode:
{...}
property Test: Integer;
Und mit Strg+Shift+C bekommt man den Setter wie oben und zusätzlich ein Read aus einer privaten Variable FTest: Integer.

Unschönheit: Delphi ergänzt immer ein published. Warum ist mir schleierhaft, weil man das für die Funktion ja nicht immer braucht.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Refactoring-Funktion für Encapsulation?

  Alt 24. Nov 2009, 13:22
Das seh ich aber nicht als "aber", ich hatte extra einen Getter definiert, damit Delphi etwas mehr zu tun hat
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von TheJeed
TheJeed

Registriert seit: 11. Jun 2009
Ort: Leipzig
57 Beiträge
 
#5

Re: Refactoring-Funktion für Encapsulation?

  Alt 24. Nov 2009, 13:25
Suhuuuuper! Danke! Toll! Das rettet mir nicht nur diesen Tag...
Teitmaschine Go!
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.679 Beiträge
 
Delphi 2007 Enterprise
 
#6

Re: Refactoring-Funktion für Encapsulation?

  Alt 24. Nov 2009, 13:35
Das gibts sogar schon mindestens seit Delphi 7 (bei früheren nicht probiert), als Java noch am komfortabelsten in Plaintexteditoren geschrieben wurde
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
Benutzerbild von TheJeed
TheJeed

Registriert seit: 11. Jun 2009
Ort: Leipzig
57 Beiträge
 
#7

Re: Refactoring-Funktion für Encapsulation?

  Alt 24. Nov 2009, 13:41
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...
Teitmaschine Go!
  Mit Zitat antworten Zitat
Benutzerbild von TheJeed
TheJeed

Registriert seit: 11. Jun 2009
Ort: Leipzig
57 Beiträge
 
#8

Re: Refactoring-Funktion für Encapsulation?

  Alt 24. Nov 2009, 13:59
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:
procedure TMyClass.SetWuppdi(const Value: integer);
begin
 
end;
das hier
Delphi-Quellcode:
procedure TMyClass.SetWuppdi(const Value: integer);
begin
 Wuppdi:=Value;
end;
machen.
Teitmaschine Go!
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.764 Beiträge
 
Delphi 11 Alexandria
 
#9

Re: Refactoring-Funktion für Encapsulation?

  Alt 24. Nov 2009, 14:01
Deswegen ist Java auch ein Dialekt für Warmduscher



Sherlock
Oliver
  Mit Zitat antworten Zitat
Benutzerbild von mleyen
mleyen

Registriert seit: 10. Aug 2007
609 Beiträge
 
FreePascal / Lazarus
 
#10

Re: Refactoring-Funktion für Encapsulation?

  Alt 24. Nov 2009, 14:10
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:
type
  TMyClass = class
  public
    property Wuppdi: integer read FWuppdi write setWuppdi;
  end;
([hust]btw: wer braucht schon getter[/hust])
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:12 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz