GdP Java

Card Set Information

Author:
Derber
ID:
305125
Filename:
GdP Java
Updated:
2015-07-13 08:54:21
Tags:
java
Folders:

Description:
java
Show Answers:

Home > Flashcards > Print Preview

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


  1. Welche Typen von Schleifen gibt es in Java?
    • In der Vorlesung haben wir drei Schleifen-Typen kennengelernt: die for-Schleife, die while-Schleife
    • und die do-while-Schleife. Es gibt außerdem noch die erweiterte for-Schleife.
  2. Wie viele kopfgesteuerte Schleifen gibt es in Java?
    • In der Vorlesung haben wir zwei kopfgesteuerte Schleifen-Typen kennengelernt: die for-Schleife
    • und die while-Schleife. Es gibt außerdem noch die erweiterte for-Schleife.
  3. Ist die if-Anweisung eine Schleife? Erläutern Sie, warum ja/nein
    • Nein, die if-Anweisung ist keine Schleife! Es ist keine Schleife, weil Schleifen Anweisungen
    • wiederholt ausführen. Das ist bei einer if-Anweisung nicht der Fall. Sie wird nur ein Mal
    • ausgeführt.
  4. Welche Schlüsselwörter werden bei if-Anweisungen verwendet?
    Bei der if-Anweisung kommen zwei Schlüsselwörter zum Einsatz: if und else.
  5. Welche elementaren Datentypen existieren in Java?
    • boolean -> Wahrheitswerte
    • char -> Einzelne Zeichen
    • byte, short, int, long -> ganze Zahlen
    • float, double -> Gleitkommazahlen
  6. Erklären Sie den Begriff „Modularität“.
    • Reale Programme sind in der Regel sehr umfangreich. Anstatt den gesamten Code in einem
    • großen Block „monolithisch“ zu programmieren wird das Gesamtproblem in viele kleine
    • Probleme zerlegt, die dann unabhängig voneinander gelöst werden können.
  7. Aus welchen Elementen setzt sich eine Methode zusammen?
  8. Wieso können Sie die Methode println(...) mit verschiedenen Datentypen aufrufen, z.B.
    System.out.println(1) oder System.out.println(true)
    • println(...) ist eine sogenannte überladene Methode. Es existieren also viele
    • verschiedene Methoden mit dem Bezeichner println, aber unterschiedlichen
    • Parameterlisten
  9. Ist der Datentyp int dem Datentyp double „übergeordnet“ oder nicht? Welche Rolle spielt
    diese „Ordnung“ beim Casting von int nach double in Java?
    • Nein, der Datentyp double ist dem Datentyp int übergeordnet. Aus diesem Grund ist kein
    • implizites Casting vom Datentyp double in den Datentyp int möglich. Hier müsste ein
    • expliziters Casting, gegebenenfalls mit Informationsverlust (Nachkommastellen) erfolgen.
  10. Was ist der Unterschied zwischen Klassen und Objekten?
  11. Was sind Konstruktoren, welchen Zweck erfüllen sie und welche Eigenschaften haben alle
    Konstruktoren gemein?
    • Konstruktoren sind spezielle Methoden, die bei der Erzeugung von Objekten aufgerufen
    • werden. Sie können (wie andere Methoden auch) Parameter übergeben bekommen und
    • dienen der Erzeugung und Initialisierung von Objekten. Sie sind immer öffentlich, haben
    • keinen Rückgabetyp und heißen wie ihre Klasse. Sie werden mittels des Schlüsselworts
    • „new“ aufgerufen.
  12. Was sind überladene Methoden?
    • Eine Methode heißt überladen, wenn in derselben Klasse gleichnamige Methoden mit
    • unterschiedlicher Signatur existieren (Overloading). Diese enthalten unterschiedliche
    • Implementierungen. Die Auswahl der auszuführenden Methode erfolgt anhand der Signatur.
    • Überladene Methoden werden vor allem verwendet, wenn die Implementierung von dem
    • Datentyp der Parameter abhängt.
  13. Welche Art von Beziehungen wird durch (a) Attribute und (b) Vererbung abgebildet?
    Nennen Sie jeweils ein Beispiel.
    • Attribute bilden hat-Beziehungen ab, z.B. „Ein Tisch hat vier Beine“
    • Vererbung bildet ist-Beziehungen ab, z.B. „Studenten und Professoren sind Personen“
  14. Welche Vorteile ergeben sich durch Vererbung bei der objektorientierten Programmierung?
    • Wiederverwendung (Vermeidung von Redundanz und Fehlervermeidung), Schrittweise
    • Entwicklung vom Allgemeinen zum Speziellen und konsistente Schnittstellen.
  15. Was wird bei der Vererbung von der Oberklasse auf die Subklasse übertragen? Gibt es
    Elemente der Oberklasse, die nicht auf die Subklasse übertragen werden?
    Es werden alle Attribute und Methoden geerbt, allerdings keine Konstruktoren!
  16. Erklären Sie den Unterschied zwischen Klassen- und Objektattributen.
    • Ein Klassenattribut gehört zu der jeweiligen Klasse, somit: Alle Instanzen der Klasse teilen
    • sich dieselbe Variable für das Attribut (Folge: der Wert des Attributs ist in allen Instanzen
    • gleich) Deklaration durch Verwendung des Modifiers static.


    • Ein Objektattribut gehört zu einer konkreten Instanz, somit: Jede Instanz verfügt über eine
    • eigene Variable für das Attribut
    • Der Wert des Attributs kann in jeder Instanz verschieden sein. Deklaration durch Weglassen
    • des Modifiers static.
  17. Was sind überschriebene Methoden und wie werden sie implementiert?
    • Subklassen können geerbte Methoden neu implementieren. Dieser Vorgang wird als
    • Überschreiben bezeichnet. Hierzu wird in der Subklasse eine Methode mit derselben
    • Signatur implementiert, sie überschreibt die entsprechende Methode aus der Oberklasse.
    • Beim Aufruf einer überschriebenen Methode auf (Objekten) der Subklasse wird die neue
    • Implementierung der überschreibenden Methode aufgerufen. Die Subklasse kann auf die
    • überschriebenen Methoden der Oberklasse über die Referenz super zugreifen.
  18. Was ist Ihre Meinung zu folgender Aussage: Java ist eine typisierte Sprache. Daher können
    Objekte nur in solchen Variablen gespeichert werden, bei deren Deklaration genau der Typ
    des Objekts angegeben wurde.
    • Die Aussage ist falsch. Java ist zwar eine typisierte Sprache, die Vererbungsbeziehungen
    • erlauben es jedoch, Objekte in Variablen des eignen und jedes übergeordneten Typs zu
    • speichern. Man unterscheidet hier zwischen dem statischen und dem dynamischen
    • Datentypen. Der statische Datentyp ist der Typ der Variablen, der dynamische der des
    • Objekts.
  19. Welche drei Typen von Variablen werden im Kontext der Gültigkeit voneinander
    unterschieden und wo sind diese jeweils gültig?
    • 1. Klassenvariablen sind im ganzen Programm gültig und existieren auch ohne dass
    • eine Instanz der Klasse angelegt wurde

    • 2. Objektvariablen existieren in Verbindung mit einem vorher instanziierten Objekt im
    • gesamten Programm

    • 3. Lokale Variablen sind nur in dem Block (und allen untergeordneten Blöcken) gültig,
    • in dem sie deklariert wurden, z.B. in einer Methode oder einer Schleife
  20. Welche Sichtbarkeits-Modifier sind Ihnen bekannt und welche Zugriffe erlauben sie jeweils
    auf die Attribute und Methoden einer Klasse?
    • public: alle Klassen dürfen zugreifen
    • protected: Nur die eigene Klasse, Klassen im Paket und Unterklassen können zugreifen
    • package: Klassen aus dem gleichen Paket dürfen zugreifen
    • private: Zugriff nur innerhalb der eigenen Klasse
  21. Worin unterscheiden sich konkrete und abstrakte Klassen?
    Von abstrakten Klassen können, im Gegensatz zu konkreten Klassen, keine Objekte erzeugt werden. Es können aber Objekte von erbenden konkreten Klassen erzeugt werden. Außerdem deklarieren abstrakte Klassen oft abstrakte Methoden, bei denen keine Implementierung sondern nur der Methodenkopf festgelegt ist. Dies ist bei konkreten Klassen nicht möglich.
  22. Wie kann in Java eine Art Mehrfachvererbung umgesetzt werden, obwohl eine Sub-Klasse
    immer nur von einer Ober-Klasse erben kann?
    • Interfaces erlauben eine Art Mehrfachvererbung. In Verbindung mit Polymorphismus
    • können Klassen auf Interfaces arbeiten und nicht mit dem konkreten Datentyp der Klassen.
    • Da eine Klasse beliebig viele Interfaces implementieren kann, wird damit so etwas wie
    • Mehrfachvererbung möglich
  23. Welche Beziehungen können zwischen Klassen bestehen und wie werden diese in einem
    UML-Klassendiagramm dargestellt?
  24. Welche Vorteile bieten dynamische Datenstrukturen gegenüber Arrays?
    • Dynamische Datenstrukturen können dynamisch erweitert werden, d.h. man muss nicht von
    • Anfang an die Größe festlegen, sondern kann Elemente hinzufügen, ohne die Größe
    • anzupassen. Dynamische Datenstrukturen bieten außerdem Methoden zur strukturierten
    • Verarbeitung der gespeicherten Daten an. Das ermöglicht z.B. auch, die Daten direkt beim
    • Einfügen zu sortieren.
  25. Was sind sogenannte „Laufzeitfehler“?
    • Laufzeitfehler sind Fehler, die erst bei Ablauf des Programms auftreten. Sie können
    • innerhalb des Programms erkannt und behandelt werden. Beispiele für behandelbare
    • Laufzeitfehler: Division durch 0, Zugriff auf nicht existierende Elemente in einem Array,
    • Eingabefehler des Benutzers (z. B. Text statt Zahl oder eine leere Eingabe), Ein-
    • /Ausgabefehler des Systems (z. B. fehlende Datei, Netzwerkfehler)

What would you like to do?

Home > Flashcards > Print Preview