C-Programmierung

Refactoring

Klassenhierarchien | | Polymorphie

Bei der Softwareentwicklung entwickelt sich überlicherweise eine Klassenhierarchie durch neu hinzukommende Klassen immer weiter. Bei zunehmender Komplexität und Vielzahl der Klassen ist es erforderlich, dass die Klassenhierachie umstrukturiert werden muß, um den Codeumfang zu reduzieren oder um das Zusammenspiel der Klassen zu verbessern. Dies dient in erster Linie der Verbesserung der Funktionalität. Aber es dient auch der Übersichtlichkeit, der besseren Wartbarkeit und damit der Reduktion der Fehleranfälligkeit.

Ein häufig genutztes Mittel in diesem Zusammenhang ist Refactoring. Dies bedeutet, dass ein redundanter Bestandteil (Methoden oder Instanzvariablen), der in zwei Klassen vorkommt in eine Basisklasse ausgelagert wird:

  • Klasse X hat Methoden a und b
  • Klasse Y hat Methoden a und c

Nach dem Refactoring:

  • Basisklasse B hat Methode a
  • Abgeleitete Klasse X erbt a und hat Methode b
  • Abgeleitete Klasse Y erbt a und hat Methode c

Damit ist die Wartbarkeit der Methode a verbessert, weil sie nicht mehr zweimal, sondern nur noch einmal vorkommt. Außerdem wirken sich Änderungen und Verbesserungen automatisch auf die abgeleiteten Klassen und auf weitere neu dazukommende Klassen aus.

Klassenhierarchien | | Polymorphie

Options: