AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Zugriff auf Public nur aus bestimmer Klasse?
Thema durchsuchen
Ansicht
Themen-Optionen

Zugriff auf Public nur aus bestimmer Klasse?

Ein Thema von .chicken · begonnen am 16. Mai 2008 · letzter Beitrag vom 16. Mai 2008
Antwort Antwort
.chicken

Registriert seit: 5. Dez 2006
459 Beiträge
 
#1

Zugriff auf Public nur aus bestimmer Klasse?

  Alt 16. Mai 2008, 13:36
Kann ich den Zugriff auf eine Public Variable nur aus bestimmten Klassen erlauben? Ich muss das Direct3D-Device bei der Arbeit an meiner 2D-Engine leider Public deklarieren, will aber, dass man nur aus meinen Engine-Klassen darauf zugreifen kann, sodass man im späteren Gebrauch der Engine nichts am Device einstellen kann.

Ich hoffe ihr versteht was ich meine.

Und noch ne Mini-Frage: Kann man Public-Variablen von der Vererbung ausschließen?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Zugriff auf Public nur aus bestimmer Klasse?

  Alt 16. Mai 2008, 13:38
Packe es in eine Basisklasse
Markus Kinzler
  Mit Zitat antworten Zitat
.chicken

Registriert seit: 5. Dez 2006
459 Beiträge
 
#3

Re: Zugriff auf Public nur aus bestimmer Klasse?

  Alt 16. Mai 2008, 14:10
Wie genau meinstn du das? Suche hat mir nicht so richtig geholfen :-\
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.168 Beiträge
 
Delphi 12 Athens
 
#4

Re: Zugriff auf Public nur aus bestimmer Klasse?

  Alt 16. Mai 2008, 14:23
du kannst auch die Klassenvariable erstmal als "private" deklarieren und dann ihre Sichtbarkeit ändern.


z.B.:
bei Funktionen und Properties kann man das leicht die Sichtbarkeit erhöhen (sichtbarer machen ... nur Erniedrigen geht nicht)
Delphi-Quellcode:
interface

// öffentlich
type
  Txyz = Class
  private
    _Direct3D: Tirgendwas;
    proberty Direct3D: Tirgendwas read Direct3D write Direct3D;
  end;

implementation

// privat
type
  TxyzPrivat = Class(Txyz)
  public
    proberty Direct3D;
  end;
oder man definiert sich nur intern eine höhere Sichtbarkeitsstufe:
Delphi-Quellcode:
interface

// öffentlich
type
  Txyz = Class
  private
    _Direct3D: Tirgendwas;
  end;

implementation

// privat
type
  TxyzPrivat = Class(Txyz)
  public
    proberty Direct3D: Tirgendwas read Direct3D write Direct3D;
  end;
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Antwort Antwort


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:30 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