AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Methoden in mehreren Klassen benutzen...
Thema durchsuchen
Ansicht
Themen-Optionen

Methoden in mehreren Klassen benutzen...

Ein Thema von Pseudemys Nelsoni · begonnen am 25. Feb 2006 · letzter Beitrag vom 25. Feb 2006
 
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#1

Methoden in mehreren Klassen benutzen...

  Alt 25. Feb 2006, 14:26
Moin,

mein "Problem" ist schwer zu beschreiben, deswegen versuche ich mal per Code zu erklären wo meine Frage liegt.

Nehmen wir einmal an ich habe folgende Hauptklasse:

Delphi-Quellcode:
TIRCClient = class
private
  FClient: TClientSocket;
public
  procedure Message(const Channel, Message: string);
end;

...

procedure TMainClass.Message(const Channel, Message: string);
begin
  FClientSocket.SendText(Format('PRIVMSG %s :%s%s', [Channel, Message, #13#10]));
end;
Diese Beispiel-Methode schreibt eine Message in einen Channel eines IRC Servers...

So, jetzt gibt es noch eine Subklasse die folgendermaßen aussieht:

Delphi-Quellcode:
TUser = class
private
  FOwner: TIRCClient;
  FChannel: string;
public
  procedure Message(const Message: string);
end;

...

procedure TUser.Message(const Message: string);
begin
  FOwner.Message(FChannel, Message);
end;


Da ist das "Problem".... ist es wirklich nötig, Funktionen in einer Subklasse zu haben die eigentlich nichts tun, bis auf eine Methode des Vorgängers aufzurufen? Bei 100 Methoden (z.B) ist es ziemlich nervig wenn man dann solchen Code hier hat:

Delphi-Quellcode:
procedure TUser.Proc1(const Message: string);
begin
  FOwner.Proc(FChannel, Message);
end;

procedure TUser.Proc2(const Message: string);
begin
  FOwner.Proc2(FChannel, Message);
end;

procedure TUser.Proc3(const Message: string);
begin
  FOwner.Proc3(FChannel, Message);
end;
Und das nur, weil die Menge der Parameter vielleicht unterschiedlich ist...

Ich hoffe es ist zu verstehen was ich meine..sonst erklär ich gern nochmal *g*
Mario
MSN: cyanide@ccode.de
  Mit Zitat antworten Zitat
 


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 14:26 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