AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

MustOverride?

Ein Thema von stahli · begonnen am 13. Feb 2016 · letzter Beitrag vom 13. Feb 2016
Antwort Antwort
Benutzerbild von geskill
geskill

Registriert seit: 17. Feb 2007
Ort: NRW
420 Beiträge
 
Delphi 2010 Professional
 
#1

AW: MustOverride?

  Alt 13. Feb 2016, 21:43
Du konntest es vielleicht so machen:
Delphi-Quellcode:
type
  TBaseFunctions = class
    procedure MyMethode1; virtual; abstract;
    procedure MyMethode2; virtual; abstract;
  end;

  TBaseFunctionsMeta = class of TBaseFunctions;

  TBaseClass = class
    function GetFunctions: TBaseFunctionsMeta; virtual; abstract;
  end;

  //
  TBasicSpecificFunctions = class(TBaseFunctions)
    procedure MyMethode1; override;
    procedure MyMethode2; override;
  end;

  TBasicClass = class(TBaseClass)
    function GetFunctions: TBaseFunctionsMeta; override;
  end;

  //
  TSpecificSpecificFunctions = class(TBaseFunctions)
    procedure MyMethode1; override;
    procedure MyMethode2; override;
  end;

  TSpecificClass = class(TBasicClass)
    function GetFunctions: TBaseFunctionsMeta; override;
  end;
Du hast eine Klasse TBaseFunctions die bestimmte Funktionen realisiert, die jedes Mal neu definiert werden müssen.

Du erbst immer nur von TBaseFunctions.

Innerhalb der Hierarchie TBasicClass, TSpecificClass ... greifst du mittels GetFunctions auf diese Funktionen zu.

Aber auch hier musst du das override von GetFunctions sicherstellen, aber eben nur einmalig.

Jedoch müsstest du dafür existierenden Code umschreiben. Ob das so sinnvoll wäre. Ich würde lieber per Notepad++ und regulären Ausdrücken prüfen, ob ein override vorhanden ist.
Sebastian
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.352 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: MustOverride?

  Alt 13. Feb 2016, 21:52
Danke für die Mühe.
Aber dann schaue ich lieber von Hand durch, ob ich die Methoden überall korrekt überschrieben habe.

Hätte ja sein können, dass ich ein passendes Attribut nicht kenne.
Die Hilfe ist ja da nicht immer eine solche.
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#3

AW: MustOverride?

  Alt 13. Feb 2016, 22:02
Ein klarer Fall für Unittests

Eine Prüfmethode kann per RTTI die deklarierten Methoden abfragen.

Allerdings reicht es auch, wenn man das korrekte Verhalten überprüft (z.B. werden alle erzeugten Instanzen auch wieder freigegeben)
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 00:45 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