AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

protected ?

Ein Thema von Hansa · begonnen am 11. Mär 2004 · letzter Beitrag vom 12. Mär 2004
Antwort Antwort
Seite 1 von 2  1 2      
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#1

protected ?

  Alt 11. Mär 2004, 19:32
Hi,

ich habe eine Variable im private Abschnitt deklariert. Nun habe ich gemerkt, daß ich die auch in abgeleiteten Formularen brauche und habe sie in den protected Abschnitt verschoben: Kein Zugriff war möglich. Dann wanderte sie weiter in "public", das ging. Dann wieder zurück nach "protected" : ging auch.
Gruß
Hansa
  Mit Zitat antworten Zitat
gekmihesg
(Gast)

n/a Beiträge
 
#2

Re: protected ?

  Alt 11. Mär 2004, 19:51
wann kommt die frage?
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#3

Re: protected ?

  Alt 11. Mär 2004, 19:58
Hi!

Ich glaube, die Frage besteht darin, warum es in protected geht, nachdem aus public kam, aber nicht, als es aus private kam.

Ciao fkerber
Frederic Kerber
  Mit Zitat antworten Zitat
Benutzerbild von dizzy
dizzy

Registriert seit: 26. Nov 2003
Ort: Lünen
1.932 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: protected ?

  Alt 11. Mär 2004, 22:06
Für mich klingt's eher wie eine Feststellung mit unterschweliger Bitte um Prüfung, und bei Bestätigung eine Warnung
Fabian K.
INSERT INTO HandVonFreundin SELECT * FROM Himmel
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#5

Re: protected ?

  Alt 11. Mär 2004, 23:46
Dann sage mir mal die Antwort.
Gruß
Hansa
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#6

Re: protected ?

  Alt 11. Mär 2004, 23:48
Zitat von dizzy:
und dann noch die unterschwellige Bitte. Wie gehts?
Gruß
Hansa
  Mit Zitat antworten Zitat
Robert Marquardt
(Gast)

n/a Beiträge
 
#7

Re: protected ?

  Alt 12. Mär 2004, 05:09
Innerhalb der Unit ist von private bis published alles zugaenglich.
Von einer anderen Unit aus gilt:
- private immer verborgen
- protected nur in einer abgeleiteten Klasse zugaenglich! Nicht in der Klasse selbst.
- public zugaenglich
- published zugaenglich
  Mit Zitat antworten Zitat
Benutzerbild von APP
APP

Registriert seit: 24. Feb 2003
Ort: Graz (A)
705 Beiträge
 
Delphi 7 Enterprise
 
#8

Re: protected ?

  Alt 12. Mär 2004, 06:16
Hallo Robert,
Zitat von Robert Marquardt:
- protected nur in einer abgeleiteten Klasse zugaenglich! Nicht in der Klasse selbst.
Du meinst bestimmt, falls in der anderen Unit eine andere Klasse definiert ist, oder?

Code:
(Aus der Onlinehilfe)
Sichtbarkeit  Bedeutung & Verwendung

private    Zugriff nur für den Quelltext, der sich in derselben Unit befindet,
            in der auch die Klasse definiert ist.   
            Verbirgt die Details der Implementierung.
protected  Zugriff nur für den Quelltext, der sich in der Unit (bzw. in den Units) befindet, in der auch die
            Klasse und ihre Nachkommen definiert sind.   
            Definiert die Schnittstelle des Komponentenentwicklers.
public     Zugriff für jeden Quelltext.   
            Definiert die Laufzeit-Schnittstelle.
automated  Zugriffsmöglichkeit für jeden Quelltext. Auf dieser Stufe werden Automatisierungs-Typinformationen
            erzeugt.   
            Nur für OLE-Automatisierung.
published  Zugriff für jeden Quelltext. Außerdem ist der Zugriff vom Objektinspektor aus möglich.
            Definiert die Entwurfszeit-Schnittstelle.
Armin P. Pressler

BEGIN
...real programmers are using C/C++ - smart developers Delphi;
END;
  Mit Zitat antworten Zitat
Robert Marquardt
(Gast)

n/a Beiträge
 
#9

Re: protected ?

  Alt 12. Mär 2004, 07:58
Genau. In der anderen Unit muss man von der Klasse ableiten und kann dann die protected Member zugreifen.
Es finden sich daher gerne Konstrukte der Art
Delphi-Quellcode:
type
  // die eifachste Ableitung die moeglich ist
  THackMyObject = class(TMyObject);

begin
  // die Umtypung ist gefahrlos, da die Klassen gleich sind,
  // aber nun wird der abgeleitete Typ verwendet
  THackMyObject(MyObject).ProtectedMember;
  Mit Zitat antworten Zitat
Benutzerbild von Garby
Garby

Registriert seit: 17. Mär 2003
Ort: Tirol
199 Beiträge
 
Delphi 2005 Professional
 
#10

Re: protected ?

  Alt 12. Mär 2004, 08:07
Zitat von Robert Marquardt:
Innerhalb der Unit ist von private bis published alles zugaenglich.
Von einer anderen Unit aus gilt:
- private immer verborgen
- protected nur in einer abgeleiteten Klasse zugaenglich! Nicht in der Klasse selbst.
- public zugaenglich
- published zugaenglich
Ist es nicht so, dass Private deklarationen nur innerhalb des gleichen type Abschnitts sichtbar sind?
Delphi-Quellcode:
type
  TmyObject = class(TObject);
  TyourObject = class(TmyObject); // sieht private von TmyObject
Delphi-Quellcode:
type
  TmyObject = class(TObject);
type
  TyourObject = class(TmyObject); // sieht NICHT private von TmyObject
Walter
Wenn zwei dasselbe tun, ist es noch lange nicht dasselbe
(Adelphi)
  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 17:38 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