Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi private / public (https://www.delphipraxis.net/26532-private-public.html)

day 24. Jul 2004 21:05


private / public
 
Hallo

ich habe in meiner unit funktionen die ich gerne public und private deklarieren möchte. Jetzt habe ich aber so meine probleme mit der Struktur des ganzen. wie muss ich das ganze deklarieren das gewisse funktionen gegen aussen sichtbar sind und andere nicht?

so geht es nicht. :gruebel:

type

private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;

Phoenix 24. Jul 2004 21:08

Re: private / public
 
Du meinst also tatsächlich funktionen und nicht Methoden einer Klasse?

Dann ist das ganz einfach:

Delphi-Quellcode:
unit MeineUnit;

interface
   // hier die funktionen erstmal nur deklarieren
   // das sind die, die für andere Units sichtbar sind. z.B.
   function VonAussenAufrufbar(arg: string): string;


implementation

// die implementation
function VonAussenAufrufbar(arg: string): string;
begin
   result := arg;
end;

// diese hier ist nur intern verwendbar
function VonAussenNichtSichtbar(arg: string): string;
begin
   result := arg;
end;

end.

day 24. Jul 2004 21:11

Re: private / public
 
danke für die schnelle antwort.
wo liegt der unterschied zur methode?

Chewie 24. Jul 2004 21:17

Re: private / public
 
Methoden sind Funktionen oder Prozduren, die zu einer Klasse oder einem Objekt gehören.

day 24. Jul 2004 21:24

Re: private / public
 
Dann komm ich aber bei deiner frage nicht ganz draus.

Zitat:

Du meinst also tatsächlich funktionen und nicht Methoden einer Klasse?
wie ist den das gemeint?

Chewie 24. Jul 2004 21:26

Re: private / public
 
Wenn du den Begriff "Funktion" abgesetzt vom Begriff "Methode" verwendest, implizierst du, dass du globale Funktionen und keine Klassenfunktion (also Methoden) meinst.

day 24. Jul 2004 21:28

Re: private / public
 
ok dann habe ich mich falsch ausgedrückt! Da ich eine Klasse habe und demnach methoden verwende.

Phoenix 24. Jul 2004 21:34

Re: private / public
 
Dann gilt das hier:

Delphi-Quellcode:
unit MeineUnit;

interface

type

   MeineKlasse = Class(TObject)
   private
      function PrivateMethode(arg: string): string;
   protected
      function ProtectedMethode(arg: string): string;
   public
      constructor Create;
      function PublicMethode(arg: string): string;
   end;


implementation

constructor MeineKlasse.Create;
begin
   // nix zu tun...
end;

function MeineKlasse.PrivateMethode(arg: string): string;
begin
   result := arg;
end;


function MeineKlasse.ProtectedMethode(arg: string): string;
begin
   result := arg;
end;


function MeineKlasse.PublicMethode(arg: string): string;
begin
   result := arg;
end;
So sollte das dann tun.

day 24. Jul 2004 21:50

Re: private / public
 
danke, klappt soweit ganz gut

Luckie 24. Jul 2004 22:54

Re: private / public
 
Siehe dazu auch mein Klassen Tutorial: http://tutorials.luckie-online.de


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:31 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