CSHP06D - SGD - Fortgeschrittene Techniken bei der objektorientierten Programmierung

CSHP06D - SGD - Fortgeschrittene Techniken bei der objektorientierten Programmierung Cover - CSHP06D  - SGD - Fortgeschrittene Techniken bei der objektorientierten Programmierung 5.00
5,00 €

Fortgeschrittene Techniken bei der objektorientierten Programmierung

Das ist nur ein Lösungsvorschlag.

Die Lösung bitte nicht identisch einreichen.

Die Aufgabe wurde mit 1,0 benotet.

Die Lösung soll zur Unterstützung und als Denkanstoß dienen. Direktes Kopieren oder Weiterverkaufen ist untersagt.
Diese Lösung enthält 1 Dateien: (pdf) ~174.46 KB
Diese Lösung zu Deinen Favoriten hinzufügen?
Diese Lösung zum Warenkorb hinzufügen?
CSHP06D_XX1.pdf ~ 174.46 KB
1. Aufgabe:
Sie haben folgende Klassenvereinbarung:
class Hund
{
int gewicht;
int alter;
}
Kann eine Klasse KleinerHund, die von der Klasse Hund abgeleitet wird, auf die Felder gewicht und alter der Klasse Hund zugreifen? Begründen Sie bitte Ihre Antwort.

2. Aufgabe:
Sie haben folgende Vereinbarung einer Klasse Katze:
class Katze
{
int groesse;

public Katze(int groesse)
{
this.groesse = groesse;
}

}
Was geschieht, wenn Sie eine neue Instanz der Klasse Katze mit der Anweisung
Katze kleineKatze = new Katze();
erzeugen wollen? Begründen Sie bitte Ihre Antwort.


3. Aufgabe:
Sie haben folgende Klassenvereinbarungen:
class Hund
{
int gewicht;
int alter;
}

class KleinerHund : Hund
{
int groesse;
}
Die Klasse KleinerHund soll auf das Feld alter der Klasse Hund zugreifen können. Welche Möglichkeiten kennen Sie, diesen Zugriff zu ermöglichen? Bewerten Sie diese Möglichkeiten bitte auch. Achten Sie dabei besonders auf die Datenkapselung.
Ein Tipp: Sie sollten mindestens drei verschiedene Varianten nennen können. Zwei hängen direkt mit der Vereinbarung des Feldes zusammen, die dritte dagegen nicht.

4. Aufgabe:
Betrachten Sie bitte folgendes Quelltextfragment. Es erzeugt ein Array für Instanzen der Klasse Baer und ruft für jedes Element im Array die Methode Ausgeben() auf.
Baer[] Baerenliste = new Baer[2];
Baerenliste[0] = new Baer(200, 3);
Baerenliste[1] = new ElternBaer(500, 5, 20);
foreach (Baer testBaer in Baerenliste)
testBaer.Ausgeben();
Die Klasse ElternBaer ist von der Klasse Baer abgeleitet und verfügt über eine eigene Methode Ausgeben(), die die Methode Ausgeben() der Basisklasse überschreiben soll. Die Methode Ausgeben() der abgeleiteten Klasse ist nicht mit override markiert.
Wird die Methode der Basisklasse tatsächlich überschrieben? Wie lauten die vollständigen Namen der Methoden, die in der Schleife aufgerufen werden? Geben Sie die Namen bitte im Format <Klassenname.Methodenname> an.
Ein Tipp zur Lösung: Wenn Sie mit dem Fragment auf dem Trockenen nicht zurechtkommen, bauen Sie es einfach in eines der „Bären“-Programme aus dem Studienheft ein.

5. Aufgabe:
Sie wollen eine Klasse Vogel von der Klasse Haustiere ableiten. Die Klasse Haustiere verfügt lediglich über einen Konstruktor, der zwei int-Typen als Parameter verarbeitet. Was müssen Sie beim Konstruktor der Klasse Vogel in jedem Fall berücksichtigen?

6. Aufgabe:
Sie haben folgende Basisklasse Insekt:
class Insekt
{
protected int laenge;

protected int gewicht;

//der Konstruktor
public Insekt(int laenge, int gewicht)
{
this.laenge = laenge;
this.gewicht = gewicht;
}

//die Methode zum Essen
public virtual void Essen()
{
laenge = laenge + 1;

gewicht = gewicht + 1;
}

//die Methode zur Ausgabe
public virtual void Ausgabe()
{
Console.WriteLine("Das Insekt ist {0} cm lang und wiegt {1} Gramm.", laenge, gewicht);
}
}
Leiten Sie aus dieser Basisklasse eine Klasse Libelle ab. Die Klasse Libelle soll zusätzlich ein Feld fluegellaenge enthalten, das über einen Konstruktor mit einem beliebigen Wert initialisiert werden kann.
Die Methode Essen() der Klasse Libelle soll nicht nur das Gewicht und die Länge erhöhen, sondern auch die Flügellänge.
Ändern Sie auch die Methode Ausgabe() der Klasse Libelle so, dass zusätzlich die Flügellänge ausgegeben wird.
Stellen Sie in Ihrem Programm sicher, dass die Methoden in der Klasse Libelle die Methoden in der Klasse Insekt in jedem Fall überschreiben.
Testen Sie Ihre neue Klasse, indem Sie eine Main()-Methode schreiben und in dieser je ein Objekt der Basisklasse und der abgeleiteten Klasse erzeugen und jeweils beide Methoden mindestens einmal aufrufen.
Vorschau
Weitere Information: 04.03.2024 - 09:02:34
  Kategorie: Technik und Informatik
Eingestellt am: 05.06.2021 von Softeisverbieger
Letzte Aktualisierung: 31.01.2024
0 Bewertung
12345
Studium:
Prüfungs-/Lernheft-Code: CSHP06D-XX1-N01
Benotung: 1
Bewertungen
noch keine Bewertungen vorhanden
Benötigst Du Hilfe?
Solltest du Hilfe benötigen, dann wende dich bitte an unseren Support. Wir helfen dir gerne weiter!
Was ist StudyAid.de?
StudyAid.de ist eine Plattform um selbst erstellte Musterlösungen, Einsendeaufgaben oder Lernhilfen zu verkaufen.

Jeder kann mitmachen. StudyAid.de ist sicher, schnell, komfortabel und 100% kostenlos.
Rechtliches
Für diesen Artikel ist der Verkäufer verantwortlich.

Sollte mal etwas nicht passen, kannst Du gerne hier einen Verstoß melden oder Dich einfach an unseren Support wenden.

Alle Preise verstehen sich inkl. der gesetzlichen MwSt.
Mehr von Softeisverbieger
 
Zahlungsarten
  • Payments
Auf StudyAid.de verkaufen
> 2000
Schrieb uns eine WhatsApp