AGB  ·  Datenschutz  ·  Impressum  







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

ist ein custom write möglich?

Ein Thema von kagi3624 · begonnen am 6. Feb 2020 · letzter Beitrag vom 6. Feb 2020
Antwort Antwort
Dennis07

Registriert seit: 19. Sep 2011
Ort: Deutschland
492 Beiträge
 
Delphi 11 Alexandria
 
#1

AW: ist ein custom write möglich?

  Alt 6. Feb 2020, 17:52
Kein Mensch braucht die. Sie haben keinen Mehrwert und eigentlich nur Nachteile.
"Brauchen" ist Relativ. Nein, sie sind (bis auf Published-Eigenschaften) nirgendwo zwingend notwendig. Aber sie verkürzen Code enorm und machen ihn an vielen Stellen übersichtlicher, und vereinfachen gleichzeitig die Zugriffsbeschränkung auf private Member.

Die Code-Vervollständigung gibt dir keine Auskunft ob eine Property nur les-, nur schreibbar oder beides ist.
Das ist richtig, aber kein Problem der Properties sondern ausschließlich eines der Code-Vervollständigung.

Du kannst Properties nicht als var - oder out -Parameter übergeben.
Ja, logischerweise kannst du das nicht. Wie soll das denn auch funktionieren? Es sind ja keine Variablen, sondern müssen zu Funktionen/Prozeduren kompatibel sein. Keine Ahnung wie du dir da vorstellst, dass man sie übergeben können soll.

Das sieht man z.B. auch daran dass Sprachen wie Java keine Entsprechung zu Delphi-Properties haben da man wohl gemerkt hat dass man mit einer einfachen Variable oder getXXX() und setXXX()-Methoden besser fährt.
"Sprachen wie Java" haben das. Nur halt Java (als so ziemlich einzige Sprache, die mir jetzt spontan einfällt) hat das nicht. C#, C++ und sogar JavaScript haben sehr wohl Eigenschaften, die mehr oder weniger genau wie in Delphi funktionieren.
Dennis
  Mit Zitat antworten Zitat
Der schöne Günther

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

AW: ist ein custom write möglich?

  Alt 6. Feb 2020, 18:24
Mit alt hat das nichts zu tun. Ich sehe nur echt keine Daseinsberechtigung in Delphi. Dass es in C++ Properties gibt wäre mir jetzt neu. C# hat auch Properties, hier sind sie aber wenigstens nicht so sinnlos wie in Delphi.

Beispielsweise sehe ich in der IDE ob ich eine Property setzen darf und nicht erst wenn der Compiler mir das um die Ohren wirft. Oder ich kann, wie man es mit getter- und setter-Methoden sowieso kann, eine Property public lesbar, aber z.B. nur protected schreibbar machen.

Außerdem gibt es beispielsweise Element-Initalisierer, da machen die Properties wirklich Spaß.

Aber in C# kann man leider auch keine Properties als ref/out-Parameter übergeben, das ist schade.
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
3.076 Beiträge
 
Delphi 12 Athens
 
#3

AW: ist ein custom write möglich?

  Alt 6. Feb 2020, 19:57
Mit alt hat das nichts zu tun. Ich sehe nur echt keine Daseinsberechtigung in Delphi. Dass es in C++ Properties gibt wäre mir jetzt neu. C# hat auch Properties, hier sind sie aber wenigstens nicht so sinnlos wie in Delphi.

Beispielsweise sehe ich in der IDE ob ich eine Property setzen darf und nicht erst wenn der Compiler mir das um die Ohren wirft. Oder ich kann, wie man es mit getter- und setter-Methoden sowieso kann, eine Property public lesbar, aber z.B. nur protected schreibbar machen.

Außerdem gibt es beispielsweise Element-Initalisierer, da machen die Properties wirklich Spaß.

Aber in C# kann man leider auch keine Properties als ref/out-Parameter übergeben, das ist schade.
Du könntest diese Ideen ja mal als Wünsche ins QP schreiben...
  Mit Zitat antworten Zitat
Dennis07

Registriert seit: 19. Sep 2011
Ort: Deutschland
492 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: ist ein custom write möglich?

  Alt 6. Feb 2020, 23:10
Dass es in C++ Properties gibt wäre mir jetzt neu. C# hat auch Properties, hier sind sie aber wenigstens nicht so sinnlos wie in Delphi.
Die Properties in C# sind ziemlich exakt genau so wie in Delphi. In C++ gibt es seit Version 11 Eigenschaften, die genau wie in Delphi funktionieren.

Oder ich kann, wie man es mit getter- und setter-Methoden sowieso kann, eine Property public lesbar, aber z.B. nur protected schreibbar machen.
Das wäre in der Tat schön, also quasi partielle Eigenschaften. Aber syntaktisch schwer machbar. Ebenso wäre es schön, Eigenschaften als deprecated markieren zu können. Aber geht nunmal nicht.

Aber in C# kann man leider auch keine Properties als ref/out-Parameter übergeben, das ist schade.
Weil das, wie schon gesagt, nunmal rein logisch nicht möglich sein kann, da var -Parameter als Zeiger übergeben werden und ein Zeiger auf ein Methodenergebnis nunmal nicht weiterverwertbar ist. Es sind halt keine Variablen.
Dennis
  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 23:10 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