Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Instanz von T wird mit der abstrakten Methode XYZ angelegt (https://www.delphipraxis.net/195698-instanz-von-t-wird-mit-der-abstrakten-methode-xyz-angelegt.html)

Uwe Raabe 19. Mär 2018 15:03

AW: Instanz von T wird mit der abstrakten Methode XYZ angelegt
 
Zitat:

Zitat von Codehunter (Beitrag 1396611)
Gibts vielleicht auch sowas wie das "obligatory" in meinem Beispiel?

Nicht direkt in der Form, aber du kannst in den Projekt-Optionen unter Hinweise und Warnungen bei der Warnung Konstruierende Instanz enthält abstrakte Methode den Eintrag auf Fehler stellen, dann compiliert der Source so nicht mehr.

Codehunter 19. Mär 2018 17:33

AW: Instanz von T wird mit der abstrakten Methode XYZ angelegt
 
Hmmm womit wir wieder beim abstract wären :-D Aber ich meine mich zu erinnern, dass das früher bei D7 von Haus aus so war, dass der Compiler abgebrochen hat wenn Abstracts nicht implementiert waren. Mit dem strict protected bin ich aber schon mal ein gutes Stück weiter beim ordentlichen Anwendungsdesign.

Zacherl 19. Mär 2018 17:41

AW: Instanz von T wird mit der abstrakten Methode XYZ angelegt
 
Zitat:

Zitat von Codehunter (Beitrag 1396660)
Mit dem strict protected bin ich aber schon mal ein gutes Stück weiter beim ordentlichen Anwendungsdesign.

Verwenden meiner Meinung nach eh zu wenige Leute den
Delphi-Quellcode:
strict
Modifier (bin ich auch erst drüber gestoßen, nachdem ich schon Jahrelang mit Delphi gearbeitet habe). Habe mir angewöhnt immer
Delphi-Quellcode:
strict private
und
Delphi-Quellcode:
strict protected
zu verwenden, wenn ich die Felder/Methoden tatsächlich nur intern verwende. Mann nimmt ja auch unter z.B. Java nicht standardmäßig überall die
Delphi-Quellcode:
package
-Privacy.

Fritzew 19. Mär 2018 18:07

AW: Instanz von T wird mit der abstrakten Methode XYZ angelegt
 
Was in dem Zusammenhang fehlt, (meiner Meinung nach) ist das Konzept der friendklassen wie in C++
Dann muss man nicht unbedingt alles public machen was von einer unterstützenden Klasse benötigt wird.
Kleinere Unitfiles, bessere Wartbarkeit



Zitat:

Zitat von Zacherl (Beitrag 1396663)
Zitat:

Zitat von Codehunter (Beitrag 1396660)
Mit dem strict protected bin ich aber schon mal ein gutes Stück weiter beim ordentlichen Anwendungsdesign.

Verwenden meiner Meinung nach eh zu wenige Leute den
Delphi-Quellcode:
strict
Modifier (bin ich auch erst drüber gestoßen, nachdem ich schon Jahrelang mit Delphi gearbeitet habe). Habe mir angewöhnt immer
Delphi-Quellcode:
strict private
und
Delphi-Quellcode:
strict protected
zu verwenden, wenn ich die Felder/Methoden tatsächlich nur intern verwende. Mann nimmt ja auch unter z.B. Java nicht standardmäßig überall die
Delphi-Quellcode:
package
-Privacy.


mkinzler 19. Mär 2018 22:03

AW: Instanz von T wird mit der abstrakten Methode XYZ angelegt
 
Bei Delphi sind alle innerhalb einer Unit "Freunde"

Zacherl 19. Mär 2018 22:06

AW: Instanz von T wird mit der abstrakten Methode XYZ angelegt
 
Zitat:

Zitat von mkinzler (Beitrag 1396707)
Bei Delphi sind alle innerhalb einer Unit "Freunde"

Das stimmt zwar, aber ich kann Fritzw trotzdem nur zustimmen, dass dieses Verhalten "schlechter" ist als die friend-classes unter C++. Bei Delphi ist man genau deshalb nämlich oft gezwungen mehrere Klassen in einer gemeinsamen Unit zu deklarieren, die man ansonsten lieber aufgeteilt hätte. Einzige Alternative ist dann Felder/Methoden
Delphi-Quellcode:
public
zu deklarieren - was noch unschöner ist.

Aber gut, das wird denke ich etwas OT jetzt :stupid:


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:25 Uhr.
Seite 2 von 2     12   

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