AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Algorithmen, Datenstrukturen und Klassendesign Delphi Wie verhindere ich effektiv die Instanziierung von abstrakten Klassen?
Thema durchsuchen
Ansicht
Themen-Optionen

Wie verhindere ich effektiv die Instanziierung von abstrakten Klassen?

Ein Thema von Der schöne Günther · begonnen am 6. Mär 2013 · letzter Beitrag vom 6. Mär 2013
Antwort Antwort
Der schöne Günther

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

AW: Wie verhindere ich effektiv die Instanziierung von abstrakten Klassen?

  Alt 6. Mär 2013, 16:56
Im Endeffekt geht es wohl bei Jedem nur darum sicherzustellen, dass die Unterklassen alle bislang abstrakten Methoden vernünftig implementieren wenn sie denn instanziiert werden wollen.
Das geht in Delphi ja anscheinend um keinen Preis.

Deshalb war meine Idee, den Konstruktor (und andere abstrakte Methoden) immer strict protected zu haben, die implementierende Unterklasse hebt es dann bei Bedarf auf public an.

Das bewahrt den Entwickler natürlich immer noch nicht vor dem Fehler, z.B. nur den Konstruktor zu implementieren und auf public anzuheben, eine bislang abstrakte Methode allerdings nicht.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.667 Beiträge
 
Delphi 12 Athens
 
#2

AW: Wie verhindere ich effektiv die Instanziierung von abstrakten Klassen?

  Alt 6. Mär 2013, 17:00
So isses, außerdem kommt ja immerhin eine Compiler-Warnung, wenn man eine Klasse mit abstrakten Methoden instanzieren will.

[edit] @mjustin: Danke für den Tipp, das wusste ich auch noch nicht. [/edit]
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Der schöne Günther

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

AW: Wie verhindere ich effektiv die Instanziierung von abstrakten Klassen?

  Alt 6. Mär 2013, 17:07
Großartig, genau so etwas habe ich gesucht. Ich hatte befürchtet, dass es den Compiler nie interessiert, ob eine Klasse alle abstrakten Methoden implementiert hat oder nicht.

Noch einfacher hätte man es finden können über [F6] und "abstrakt" eingeben

Vielen Dank für den Hinweis!
Angehängte Grafiken
Dateityp: png abstract.png (27,3 KB, 24x aufgerufen)
  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 18:30 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