Coconote
AI notes
AI voice & video notes
Export note
Try for free
Vererbung in der objektorientierten Programmierung
Sep 6, 2024
Notizen zur Vorlesung über Vererbung in der objektorientierten Programmierung
Einleitung
Vererbung als wichtige Säule der objektorientierten Programmierung.
Erleichtert die Entwicklung neuer Funktionsbausteine (FBs) durch Erweiterung bestehender FBs.
Beispiel: Einzelsteuerfunktion für Schrittmotor
Basisklasse: FB-IDF-to-Dirvar-Speed.
Grundfunktionen: Aktivieren, Deaktivieren, Drehrichtung und Geschwindigkeit vorgeben.
Ziel: Neue Funktionalität zum Pausieren des Antriebs hinzufügen.
Erweiterung durch Vererbung
Neuer Funktionsbaustein mit Pausefunktionalität wird erstellt.
Vererbung ermöglicht es, bestehende Funktionen zu nutzen und neue hinzuzufügen.
Vererbung in ST (Structured Text)
Jeder neue Funktionsbaustein hat Zugriff auf die Funktionen der Basisklasse.
Keine Mehrfachvererbung in ST; jede Erweiterung hat nur eine Basisklasse.
Zugriffsmodifizierer
Protected
: Methoden sind innerhalb der abgeleiteten Klasse sichtbar, aber nicht außerhalb.
Public
: Methoden sind öffentlich und sichtbar.
Private
: Methoden sind nur innerhalb der Klasse sichtbar.
Beispiel: mForward und mBackward sind als Protected deklariert.
Praktische Anwendung
Anwendung des FBs im Main-Programm
Nutzung von B-Log für das Sperren des Antriebs.
Beispielaufrufe für Vorwärts- und Rückwärtsbewegungen.
Erweiterung um Pausenfunktionalität
Neuer FB: EDF-to-Dir-Var-Speed-Pause.
Implementierung der Pausenfunktionalität:
Pulsgeber erzeugt High-Signal für Pausendauer.
Geschwindigkeit wird zwischengespeichert und nach der Pause wieder eingestellt.
Beispielanpassungen im Main-Programm:
Setzen der Pausendauer und Aufruf der Pause-Methode.
Fehlerbehebung
Sicherstellen, dass Log-Signal auch während des Betriebs überprüft wird.
Nutzung des
super
-Zeigers, um die Methode der Basisklasse aufzurufen.
Weitere Erweiterung: Rampenfunktionalität
Neuen FB: EDF-to-Dir-Var-Speed-Ramp erstellen.
Ziel: Rampenförmige Ansteuerung der Geschwindigkeit.
Methoden überschreiben:
mOn, mForward und mBackward werden modifiziert.
Nutzung von Timern zur Implementierung der Rampensteuerung.
Fazit
Vererbung reduziert Redundanz und ermöglicht einfache Erweiterungen.
Neue Anforderungen können leicht durch Erben und Modifizieren bestehender Klassen umgesetzt werden.
Beibehaltung der ursprünglichen Funktionalitäten der Basisklasse.
📄
Full transcript