AGB  ·  Datenschutz  ·  Impressum  







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

Delphi - Eigenschaften

Ein Thema von jsphde · begonnen am 11. Feb 2018 · letzter Beitrag vom 12. Feb 2018
Antwort Antwort
Der schöne Günther

Registriert seit: 6. Mär 2013
6.197 Beiträge
 
Delphi 10 Seattle Enterprise
 
#1

AW: Delphi - Eigenschaften

  Alt 12. Feb 2018, 09:07
Ja, das meine ich: Die Property mit ihrem read und write ist public , es darf also jeder dran. Egal wie welchen Zugriff die Methoden oder Felder dahinter haben.

Was hindert dich daran, das in Delphi genauso zu machen ?
Nichts. Deswegen tue ich es auch. Ich wollte nur mein Unverständnis ausdrücken was man durch Properties in seinem Code überhaupt gewinnt.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

AW: Delphi - Eigenschaften

  Alt 12. Feb 2018, 09:41
Zitat:
Ich wollte nur mein Unverständnis ausdrücken was man durch Properties in seinem Code überhaupt gewinnt.
Der Grund für die Erfindung von Properties heisst Objektinspektor.
Markus Kinzler
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.197 Beiträge
 
Delphi 10 Seattle Enterprise
 
#3

AW: Delphi - Eigenschaften

  Alt 12. Feb 2018, 09:49
Dass Delphi seit den 90ern seine DFM-Dateien über published Properties serialisiert ist mir klar. Ich sehe nur nicht weshalb man das heute in eigenem Code einsetzen sollte.
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.123 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Delphi - Eigenschaften

  Alt 12. Feb 2018, 10:08
Moin Günther,

Ich sehe nur nicht weshalb man das heute in eigenem Code einsetzen sollte.
Bei visuellen Komponenten kommst Du nicht drum herum, da nur published properties im Object Inspector angezeigt werden.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.395 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: Delphi - Eigenschaften

  Alt 12. Feb 2018, 17:20
Dass Delphi seit den 90ern seine DFM-Dateien über published Properties serialisiert ist mir klar. Ich sehe nur nicht weshalb man das heute in eigenem Code einsetzen sollte.
um seine eigenen Objekte serialisieren/deserialiseren zu können. Die neue RTTI ist da zwar umfangreicher, aber eben auch langsamer.

Mit Hilfe der Getter/Setter kann ich, obwohl die Property von "außen" sichtbar ist, den Zugriff auf den Inhalt der Property kontrollieren.
Nein, das kannst du eben nicht: "Zugriff kontrollieren". Die Property kann nicht zwischen "Lesezugriff" und "Schreibzugriff" unterscheiden. Entweder man hat vollen Zugriff auf die Property (dann ist es herzlich egal ob die Getter/Setter nun private, protected oder public sind), oder keinen.
ließ das Posting nochmal durch. Ghostwalker meint so was:

Delphi-Quellcode:

TFoo = class(TObject)
private
...
protected
 property Bar: Integer;...
....
end;

Die Sichtbarkeit der Property wird damit gesteuert.

Und über die getter und Setter kann man auch bei public-Properties den Zugriff kontrollieren:

Delphi-Quellcode:

TFoo = class(TObject)
private
...
public
 property Bar: Integer read GetBar write SetBar;
....
end;

...


function TFoo.GetBar: Integer;
begin
  If FAccessRestricted then
    raise Exception.Create()
  else
    result := FBar;
end;
Ob das alles am Ende Sinn macht müssen andere entscheiden...
  Mit Zitat antworten Zitat
Ghostwalker

Registriert seit: 16. Jun 2003
Ort: Schönwald
1.299 Beiträge
 
Delphi 10.3 Rio
 
#6

AW: Delphi - Eigenschaften

  Alt 12. Feb 2018, 11:16
Ja, das meine ich: Die Property mit ihrem read und write ist public , es darf also jeder dran. Egal wie welchen Zugriff die Methoden oder Felder dahinter haben.


Das ist doch nur eine Frage in welchem Abschnitt ich die Property definiere. Wenn ich nicht möchte, das jemand von "außen" auf die Property zugreifen soll, dann leg ich die Property in einen entsprechenden Abschnitt oder
definier einfach das entsprechende Feld im Abschnitt und mach keine Property draus.

Mit Hilfe der Getter/Setter kann ich, obwohl die Property von "außen" sichtbar ist, den Zugriff auf den Inhalt der Property kontrollieren.

Aber irgendwie hab ich so das Gefühl, das ich nicht so ganz verstehe, worauf du rauswillst
Uwe
e=mc² or energy = milk * coffee²
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.197 Beiträge
 
Delphi 10 Seattle Enterprise
 
#7

AW: Delphi - Eigenschaften

  Alt 12. Feb 2018, 16:23
Mit Hilfe der Getter/Setter kann ich, obwohl die Property von "außen" sichtbar ist, den Zugriff auf den Inhalt der Property kontrollieren.
Nein, das kannst du eben nicht: "Zugriff kontrollieren". Die Property kann nicht zwischen "Lesezugriff" und "Schreibzugriff" unterscheiden. Entweder man hat vollen Zugriff auf die Property (dann ist es herzlich egal ob die Getter/Setter nun private, protected oder public sind), oder keinen.

Ich finde es ist ein legitimer Anwendungsfall dass z.B. die Klasse selbst eine Property schreiben, ein Benutzer der Klasse ("von außen") die Property aber nur lesen kann.


Das heißt eine Property kann im Endeffekt sogar weniger als zwei Getter/Setter-Methoden und ist sogar mehr Tipparbeit.
  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 12:15 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