1. Aufgabe:
Was versteht man unter „Auskommentieren von Quellcode“, wie macht man das und warum ist diese Technik nützlich?
[. . .]
2. Aufgabe:
Welche Operatoren werden in den folgenden drei Zeilen eingesetzt und was bewirken sie?
int c = a + b;
string s = "123" + "456";
Klasse objekt = new Klasse();
[. . .]
3. Aufgabe:
Gegeben sei folgende Enumeration, in der nicht allen Elementen Zahlen zugeordnet sind:
enum Airbus { A300 = 200, A310, A318 = 100, A319, A320, A321, A330 = 300, A340, A380 = 400 }
Ermitteln Sie den Zahlenwert des Enumeration-Elements A321. Geben Sie außerdem den Quellcode an, der zur Ausgabe des Zahlenwerts dieses Elements auf der Konsole führt.
Wie erklären Sie sich die ausgegebene Zahl? Testen Sie ggf. weitere, in der Enumeration nicht explizit nummerierte Elemente, um das System der Zahlenzuordnung zu erkunden.
[. . .]
4. Aufgabe:
Im nachstehenden Code eines Projekts gibt es noch einige Lücken:
namespace ESA2
{
Interface
{
void TuNochWas( );
}
class A
{
public abstract void TuWas( );
}
class B : A, Interface
{
}
class Program
{
B bObjekt = new B();
}
}
Ergänzen Sie die fehlenden Teile der Programmierung so, dass das Programm funktionsfähig wird und in jeder nicht abstrakten Methode eine Konsolenausgabe erzeugt (z.B.: „Ich tu was“). Reichen Sie einen Ausdruck Ihres Codes ein und erläutern Sie Ihre Ergänzungen.
Gehen Sie schrittweise vor und kompilieren Sie häufig. Der Compiler wird Ihnen meist mit seinen Fehlermeldungen weiterhelfen.
[. . .]
5. Aufgabe:
Implementieren Sie die Klassen aus folgendem Klassendiagramm:
Abb. A.1: Einfaches Klassendiagramm mit Figurenklassen
Der Begriff der Figur ist eine Abstraktion, weil er nicht deutlich werden lässt, ob es sich um ein Quadrat, ein Rechteck, einen Kreis, ein Polygon usw. handelt. Daher eignet sich der Bezeichner Figur für eine abstrakte Basisklasse, in der gemeinsame Eigenschaften konkreter Figuren festgelegt werden können. Konkrete Figurenklassen, die von der abstrakten Basisklasse erben, spezifizieren die besonderen Eigenschaften von Rechtecken, Quadraten (und – nicht mehr im Diagramm bzw. Aufgabenstellung:), Kreisen, Polygonen usw.
Die abstrakte Basisklasse Figur soll zwei abstrakte Methoden mit den Namen Umfang und Fläche deklarieren. Diese Methoden geben nichts zurück, weil sie – in implementierter Form – lediglich eine Konsolenausgabe bewirken sollen.
Von der Klasse Figur erben zwei konkrete Klassen Rechteck und Quadrat. Diese Klassen benötigen Datenelemente für die Berechnung von Fläche und Umfang der beiden konkreten Figuren. Überlegen Sie, wo Sie diese Datenelemente deklarieren, die beide den Typ int haben sollen.
Die beiden Unterklassen sollen jeweils eine Konstruktormethode enthalten, mit der die erforderlichen Datenelemente initialisiert werden können.
Sorgen Sie auch dafür, dass die beiden Methoden der abstrakten Basisklasse ihre Implementierung erhalten. Dabei können Sie folgende Ausdrücke für die erforderlichen Berechnungen verwenden:
• Fläche des Rechtecks: breite * hoehe
• Umfang des Rechtecks: 2 * (breite + hoehe)
• Fläche des Quadrats: breite * breite
• Umfang des Quadrats: 4 * breite
Beide Methoden sollen ihre Berechnungsergebnisse auf der Konsole ausgeben.
Erzeugen Sie in der Main-Methode Ihres Projekts je ein Objekt der Klassen Quadrat und Rechteck, rufen Sie jeweils die Fläche- und Umfang- Methode auf, sodass die Flächen- und Umfangswerte auf der Konsole ausgegeben werden.
Reichen Sie Ihre C#-Datei „Program.cs“ auf einem Datenträger oder als Anhang über die Online-Lernplattform ein. Erläutern Sie die wesentlichen Aspekte Ihrer Programmierung.