SoftEngFragen2

Card Set Information

Author:
Anonymous
ID:
160665
Filename:
SoftEngFragen2
Updated:
2012-07-01 16:34:44
Tags:
SoftEng2
Folders:

Description:
123
Show Answers:

Home > Flashcards > Print Preview

The flashcards below were created by user Anonymous on FreezingBlue Flashcards. What would you like to do?


  1. Erklären Sie kurz was eine Instanz ist.
    Objekt einer Klasse
  2. Wer darf bei der Geheimhaltung nicht auf wen oder was zugreifen?
    • Auf private darf nicht von außen und nicht von abgeleiteter Klasse zugegriffen werden.
    • Auf protected darf nur von abgeleiteter Klasse zugegriffen werden, nicht von außen.
  3. Warum ist eine Klassenmethode besonders für das Arbeiten mit Klassenvariablen geeignet?
    Weil sie uneingeschränkten Zugriff auf alle Variablen der Klasse hat.
  4. Wie wird in C++ die Eigenschaft des Polymorphismus aktiviert?
    Durch das Schlüsselwort "virtual"
  5. Wann wird das Schlüsselwort „virtual“ eingesetzt?
    • Der Polymorphismus wird damit aktiviert.
    • Polymorphismus:
    • Es gibt in einer Basisklasse und in einer von ihr abgeleiteten Klasse Methoden mit gleichem Namen, aber unterschiedlichen Parametern. Da erst zur Laufzeit entschieden werden kann, welche Methode aufgerufen wird, muss die Methode in der Basisklasse als "virtual" bezeichnet werden.
  6. Worin liegt der Unterschied ob in der Parameterliste einer Methode eine Variable odereine Referenz auf eine Variable übergeben wird.
    • Normale Übergabe erstellt eine temporäre Kopie der übergebenen Variable. Dies verbraucht Rechenzeit und Speicher.
    • Referenzen bilden einen Alias Name für die übergebene Variable. Es wird direkt an der Speicherstelle der übergebenen Variable gearbeitet, es wird keine Rechenzeit oder Speicher verbraucht.
  7. Mit welcher Technik erreicht man beim objektorientierten Design einer größeren Applikation die Einführung einer Hierarchie von Abstraktionsebenen zur Abbildung der Wirklichkeit?
    Mit Vererbung / Ableitung von Basisklassen
  8. Was für einen wesentlichen Vorteil hat es, wenn man Objekte verwendet?
    Sie beinhalten alle Varaiblen und Methoden der Klasse.
  9. Beschreiben Sie den Unterschied zwischen Klassenvariablen und Klassenmethoden.
    Beide sind pro Klasse nur einmal vorhanden. Klassenmethoden benötigt man, um Klassenvariablen zu lesen oder zu verändern.
  10. Warum soll man friend-Deklarationen nur sparsam verwenden?
    Weil befreundete Klassen und methoden vollen Zugriff auf alle Datenelemente und Methoden einer Klasse haben.
  11. Warum schreibt man eine Klassendeklaration gern als Header-Datei?
    Weil das Programm dadurch gut strukturiert und übersichtlich gestaltet werden kann.
  12. Welche Elemente der Basisklasse werden nicht vererbt?
    Konstruktor, Destruktor und Freundschaft zu anderen Klassen.
  13. Wie kann man erreichen, dass von einer Klasse keine Objekte erzeugt werden können?
    Es muss eine abstrakte Klasse sein. Das ist eine Klasse mit einer oder mehreren rein virtuellen Methoden.
  14. Welche Aufgaben hat ein Konstruktor?
    Wird automatisch aufgerufen wenn eine Instanz angelegt wird. Dient der Initialisierung von Elementen einer Instanz. Es kann mehrere Konstruktoren mit verschiedenen Parameterlisten geben.
  15. Was bedeutet Überladen einer Funktion?
    Es existieren mehrere Funktionen mit selbem Namen, aber unterschiedlicher Parameterliste. Die Parameterliste muss sich eindeutig unterscheiden. Der Compiler entscheidet zur Laufzeit anhand der übergebenen Parameter, welche Funktion aufgerufen wird.
  16. Was ist der Vorteil des Polymorphismus aus Sicht des Anwenders?
    Man kann Objekte verschiedenen Typs formal einheitlich behandeln. Ein und dieselbe Botschaft (z.B. berechneFlaeche) löst unterschiedliche Aktionen aus, je nach Objekt. Der Anwender muss sich nicht viele Methoden merken, er braucht sich nur eine Methode für alle Objekte merken.
  17. Was ist eine abstrakte Klasse?
    Eine Klasse

What would you like to do?

Home > Flashcards > Print Preview