Vererbung - Designfrage



  • Hallo!

    Ich arbeite mit einer LAPACK-Library und möchte die darin enthaltene Klasse LaGenMatDouble (ist eine Matrix) erweitern. Es gibt des weiteren spezielle Matrix-Funktionen (in LAPACK), die diese Klasse als Parameter verwenden (zB Matrix-Matrix-Multiplikation). Ich würde nun das Ganze gerne in einer Klasse zusammenfassen.

    Ich bin mir jetzt beim Design nicht ganz sicher. Ich überlege, ob ich die Klasse LaGenMatDouble ableiten sollte und dann in der abgeleiteten Klasse die zusätzlichen Methoden implementiere, die mir die speziellen Matrix-Operationen aufrufen. Ich könnte dann weiterhin die Methoden der Basisklasse (wie zB rows(), cols() etc.) verwenden und hätte zusätzliche Funktionalität. Spricht etwas dagegen von einer Klasse abzuleiten, die man eigentlich nicht kennt? Oder gibt es für mein "Problem" eine schönere Design-Variante?
    Danke für Hinweise!

    mfg,
    Lemmy



  • Wenn Du nur einige neue Funktionen hinzpacken möchtest spricht nichts dagegen von der alten Klasse abzuleiten.

    Andernnfalls ist eine vollständige Kapselung (eigene Klasse mit Member auf die entsprechende andere Klasse), ideal um sein Modul so zu bauen, dass auch die Implementierung sich intern ändern kann. Das ist bei der ersten Variante schwerer.

    Beides hat Charme.


Anmelden zum Antworten