Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi protected bei unterklassen (https://www.delphipraxis.net/68971-protected-bei-unterklassen.html)

queenmum 8. Mai 2006 21:59


protected bei unterklassen
 
Also, protected verhält sich ja wie private, mit dem Unterschied, dass auch noch andere Unterklassen auf protected zugreifen können, egal in welcher Unit sie stehen. Richtig?
Aber WAS für Unterklassen sind denn hier gemeint? Wenn ich ne Unterklasse bestimme, mache ich sie doch verfügbar bei z.B. nem Buttonklick im Hauptfenster und lösche var aus dieser Unterklasse und füge sie in meiner Oberklasse ein. Ist das damit gemeint, oder steh ich total auf dem Schlauch?
Schnelle Hilfe wäre mir gerade sehr lieb. :)

Dax 8. Mai 2006 22:20

Re: protected bei unterklassen
 
Unterklassen... Was du meinst sind Kindklasse ;)
Delphi-Quellcode:
TKlasse = class
protected
  fMyInt: Integer;
end;

TKindKlasse = class(TKlasse)
public
  property MyInt: Integer read fMyInt write fMyInt;
end;
Vielleicht solltest du dir mal ein OOP-Tutorial durchlesen :)

mkinzler 8. Mai 2006 22:21

Re: protected bei unterklassen
 
Unterklasse heißt hier abgeleitete Klasse.

z.b.

uni1:

Delphi-Quellcode:
type
    TKlasse1 = class
     private
      a: Integer;
     protected
      b: string;
    end;
Unit2:

t
Delphi-Quellcode:
ype
   TKlasse2 = class(Klasse1)
    protected
     c: Dozble;
   end;

...
var
   t2: TKlasse2;
...
   t2.a := 1; //Hier kommt Fehler da private in TKlasse1 und nicht vererbt.
   t2.b := 'ddd';
   t2.c := 1.5;

marabu 8. Mai 2006 22:22

Re: protected bei unterklassen
 
Hi.

Dein Beispiel verstehe ich jetzt gerade nicht, aber mit anderen Worten verhält sich protected wie private, mit dem Unterschied, dass auf protected Zugriffe auch von außerhalb des Moduls möglich sind, wenn und nur wenn der Zugriff aus einem Nachfahren dieser Klasse erfolgt.

Gute Nacht

marabu

queenmum 8. Mai 2006 22:25

Re: protected bei unterklassen
 
Danke! mkinzler, genauso hab ich mir das auch vorgestellt. Dankeschön!

Muetze1 9. Mai 2006 07:56

Re: protected bei unterklassen
 
Jo, der Code von mkinzler ist soweit nur funktionsfähig durch den Friend-Mechanismus - d.h. wenn die Instanz in der selben Unit wie der Klassendeklaration getätigt wird. Ein Zugriff von außen auf protected Elemente ist im Normalfall gesperrt.

@Threadersteller: Lies dir endlich mal das verlinkte OOP Tutorial durch!

Luckie 9. Mai 2006 08:30

Re: protected bei unterklassen
 
Vielleicht ist das: http://delphitutorials.michael-puff.de verständlicher. ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:21 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 by Thomas Breitkreuz