TimeService



  • Hallo Leute hab mal eine Frage Richtung Objektorientierung:

    Ich will eine Basisklasse erstellen , die es den Objekten der der Klassen die von ihr geerbt haben ermöglicht die Lebensdauer des jeweiligen Objektes zu bestimmen. Also ein TimeService, der Programmierer unterstützt.
    Das ganze soll im Grunde dann so ablaufen, dass ich in der Basisklasse eine Variable habe in dem ein Zeitstempel gesetzt wird wenn der Konstruktor aufgerufen wird. Soweit so Gut!

    1. Frage
    Eine weitere Funktion soll jedoch sein, dass ich die Aktive Zeit eines Objektes bestimmen kann (Also: Wie lange hat es gedauert mit dem Objekt zu arbeiten?). Das ganze muss ja dann so ablaufen, dass vor und nach dem Aufruf einer jeden Funktion (die aber nur in der Tochterklasse vereinbart ist) eine Funktion der Basisklasse gestartet wird (die dann die Zeiten stoppt).
    Frage, wie kann ich das machen?

    2.Frage:
    Außerdem soll es mögliche sein, eine Liste aller Objekte (und auch aller Objekte eines Typs) zu generieren, die von der Basisklasse geerbt hatten. Ich müßte also eine Liste mit den Adressen, aller Objekte haben. Das ist aber nicht so das Problem. Problematisch ist, dass ich ja nicht vorher weiß, wie die geerbten Klassen aussehen bzw aufgebaut sind. Da würde sich ja nun anbieten das Ganze irgendwie über Templates zu regeln. Dafür bräuchte ich aber natürlich die Möglichkeit zu erfahren, wie die Klasse heißt. Wenn jemand Ahnung davon hat, oder einfach nur eine Idee, dann wär's toll, wenn jemand antworten könnte.

    Danke Janek

    PS: Wenn jemand meint, dass ein anderes Forum für so eine Frage besser geeigent wäre, kann er's natürlich auch schreiben. Tschö



  • 1.frage ohne hilfe in der abgeleiteten Klasse garnicht
    2. abstrakte Fabrik+Typlisten sollten dein problem lösen,obwohl...

    Ich müßte also eine Liste mit den Adressen, aller Objekte haben.

    willst du nun eine liste der typen, oder eine liste der instanzen?



  • zu Punkt 1:
    sowas in der Richtung hab ich mir schon gedacht. Für mich stellt sich nun nur die Frage, wie ich den Aufwand in den nachfolgenden abgeleiteten Klassen minimieren kann. Eine Variante wäre es, dass der Benutzer am Anfang jeder Funktion ein Objekt erstellt, dass in seinem Konstruktor einen Zeitstempel erzeugt und im Destruktor (der ja ausgeführt wird wenn die Funktion beendet wird) einen zweiten Zeitstempel erzeugt aus dem ich dann die Zeit ablesen kann, die die Funktion beschäftigt war.

    zu Punkt 2:
    Ich will eine Liste mit den Instanzen haben. Der Benutzer soll in einem Programm das er selbst geschrieben hat die möglichkeit haben zu überprüfen, wie viele Objekte er von einer Klasse erzeugt hat, und wie lange diese Schon existieren, bzw. wie intensiv mit ihnen gearbeitet wurde (Aktive Zeit/Lebensdauer)
    Das Problem ist, dass ich wenn ich die Liste mit allen Objekten habe, nicht weiß von welchem Typ diese sind. Ich weiß nur, dass Sie von meiner Basisklasse abgeleitet wurden. Wie kann ich nun also heraus bekommen, von welchem Typ diese Objekte sind?

    Was du mit "Abstrakten Fabrik+Typlisten meinst, weiß ich leider nicht, aber erklär mal bitte. Man lernt ja nie aus. :p

    Okay, ich hoffe es kommen ein paar Ideen zusammen.


Log in to reply