Forum: Object-Pascal / Delphi-Language
Delphi
by Dennis07,
6. Feb 2020
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.
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.
Weil das, wie schon gesagt, nunmal rein...
Forum: Object-Pascal / Delphi-Language
Delphi
by Dennis07,
6. Feb 2020
"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.
Das ist richtig, aber kein Problem der Properties sondern ausschließlich eines der Code-Vervollständigung.
Ja, logischerweise...
Forum: Object-Pascal / Delphi-Language
Delphi
by Dennis07,
6. Feb 2020
Eigenschaften sind eine Kürzere Schreibweise für Methoden. Sie sind "pseudo-Variablen", die zum Lesen, Schreiben oder beidem entweder auf echte Member-Variablen, oder auf Methoden verweisen.
Eigenschaften können:
in ihrer Sichtbarkeit in abgeleiteten Klassen erhöht werden, indem sie ohne einen Typen und ohne eine Read-oder Write-Klausel in der Kindklasse neu deklariert werden
auf virtuelle...
Forum: Object-Pascal / Delphi-Language
Delphi
by Dennis07,
6. Feb 2020
Ich denke er redet davon, in einem Typennachfahr die Read-/Write-Klauseln einer Eigenschaft neu zu definieren, ohne die Eigenschaft zu überschreiben. Und das geht nicht. Du kannst die Signaturen oder Les-/Schreibbarkeit einer Eigenschaft nicht überschreiben, sondern nur deren Sichtbarkeit.