Virtuelle Methoden und pur virtuelle Methoden in C++, abstrakte Methoden und Interfaces in Java, abstrakte Klassen
Abstrakte Klassen - C++-Beispiel "Grafikobjekte"
In den hier verfügbaren PDF- und C++-Dateien finden Sie Code zum Aspekt der Bildung von pur virtuellen Methoden und (darauf aufbauend) abstrakten Klassen.
int main() { Punkt p1(10.0, 20.0); // ggf. hier weitere Punkte definieren, falls dies für die Instanziierung // des u.a. Kreis-Objektes sinnvoll erscheint.
RE re1(p1,30.0,60.0); Kreis kreis1( ... ); // hier Ihre Ergänzung vornehmen! GO *pgo = &re1; cout << "Umfang des Rechtecks: " << pgo->umfang() << endl; pgo = &kreis1; cout << "Umfang des Kreises: " << pgo->umfang() << endl; return EXIT_SUCCESS; }
Interfaces in Java
Stellen Sie in Java bitte ein Interface HatGewicht bereit, mit dem (abstrakt) Objekte modelliert werden, die gewogen werden können. Die Methode gewicht() soll das betreffende Gewicht (in Kilogramm) zurückliefern; die Methode schwererAls() soll zwei Objekte vom Typ HatGewicht vergleichen (und natürlich genau dann true zurückgeben, wenn das aktuelle Objekt schwerer ist als das im Parameter kommunizierte Objekt.
if (objekt1.schwererAls(objekt2)) { System.out.println("Das Objekt " + objekt1 + " ist das schwerere."); }
Schreiben Sie bitte eine Klasse Lebensmittel, die das Interface HatGewicht implementiert. (Sollten Sie alles (oder vieles) zu Interfaces wieder vergessen haben oder wir in der Vorlesung (noch) gar nicht dazu gekommen sein, diese (richtig) zu besprechen, dann sehen Sie bitte wieder in einem guten Buch oder irgendwo im Internet nach.)
Modellierung einer (evtl. Mehrfach-)Vererbung: das Beispiel Kunde
Modellieren Sie bitte die nachfolgende Situation:
Im Rahmen der zu implementierenden Software gebe es bereits die Klassen Person und Firma zur
Modellierung von natürlichen Personen und von (bestimmten) Unternehmen.
Nun sollen Kunden verwaltet werden; ein Kunde hat stets eine Kundennummer, einen (Kunden-)Kontostand (z.B. der noch zu begleichende Rechnungsbetrag oder ggf. eine Gutschrift) und eine bestimmte Lieferadresse.
Ein konkreter Kunde (unseres gedanklichen Unternehmens) ist stets entweder eine natürliche Person oder
eine Firma.
Nach erfolgter Modellierung dürfen Sie diese jeweils in C++ und in Java implementieren. Realistischerweise überlasse ich aus Zeitgründen Ihnen, welchen konkreten Funktionsumfang Sie hierbei bereitstellen mögen. Wichtig sind aus Sicht der Objektorientierung die nachvollziehbare Modellierung der und die Beziehungen unter den Klassen.
© 1999-2023 FHDW/Peter Baeumle-Courth. Document-Id: fhdwbap:opg:028987-4