Franz Pucher / HIM0Board

You are viewing an older revision! See the latest version

IsA

Table of Contents

  1. IsA (ist ein) versus HasA

C++ Seite

IsA (ist ein) versus HasA

Inheritance (Vererbung)

/media/uploads/fpucher/uml_isa.jpg

Man spricht bei Vererbung von einer »Ist ein«-Beziehung (siehe UML Klassendiagramm). MyLed »ist ein« DigitalOut und hat alle Eigenschaften der Klasse DigitalOut und fügt ihnen nun seine Besonderheiten, Methoden wie z.B. ToggleLed(), BlinkLed(), ..., hinzu. Neben den Datenelementen (Attribute) vererben sich auch die Methoden, wie z.B. write() und read(). Lediglich die Konstruktoren, die Destruktoren und die Zuweisungsoperatoren werden nicht vererbt. Bei der Erzeugung des Objektes wird der Konstruktor der DigitalOut-Klasse aufgerufen, der den Pin auf ld1 setzt:

class IsA : public DigitalOut {
public:
    IsA(PinName ld) : DigitalOut(ld, 0){}
}

Methode: Es wird die Methode der Basisklasse DigitalOut über den Bereichsauflösungs-Operator (scope resolution) „::“ aufgerufen:

void LedOn() {
    DigitalOut :: write(1);
}

Blinky OOP


All wikipages