OOP Flashcards
While-Schleife
- Wiederholt einen Codeblock, solange die Bedingung wahr ist
Beispiel:
int i = 0;
while (i<5) {
System.out.println(i);
i++
}
try/catch
Fehlerbehandlung: Versucht, Code auszuführen & fängt mögliche Exceptions (Fängt Fehler ab und verhindert Abstürze!)
Beispiel:
try{
int ergebnis = 10/0;
} catch (Arithmetic Exception e) {
System.out.println(“Fehler: Division durch 0”);
}
Polymorphie
- Objekte können als Instanzen ihrer Oberklasse oder als Schnittstelle behandelt werden
- Dieselbe Methode kann in verschiedenen Klassen unterschiedlich implementiert werden
Beispiel:
Fahrzeug auto = new Auro(); //Polymorphismus: Auto als Fahrzeug
Vererbung
- Eine Klasse erbt von einer anderen Klasse, um deren Eigenschaften & Methoden zu übernehmen
- Ermöglicht Code-Wiederholung
Beispiel:
class Fahrzeug {}
class Auto extends Fahrzeug{} //Auto erbt von Fahrzeug
final
- Verhindert Veränderungen:
Klasse: Können nicht weiter abgeleitet werden
Methoden: Können nicht überschrieben werden
Attribute: Können nur einmal gesetzt werden (nicht veränderbar)
Beispiel:
final class KonstanteKlasse{} //Kann nicht abgeleitet werden
final int MAX_WERT = 10; //Kann nicht geändert werden
Abstrakte Klasse
- Ist nicht direkt instanziierbar
- Kann abstrakte Methoden enthalten -> Unterklassen müssen diese dann ebenfalls implementieren
Beispiel:
abstract class Fahrzeug {
abstract void fahren(); // Abstrakte Methode
}
Zugriffsmodifikatoren
- Bestimmen wer von wo auf was zugreifen kann
public = Von Überall zugreifbar
private = Nur innerhalb der eigenen Klasse zugreifbar
protected = Nur innerhalb der Unterklasse oder Pakets zugreifbar
Beispiel:
public void fahren();
private String geheim;
protected class Unsichtbar{}
extends
- Schlüsselwort um eine Klasse von einer anderen abzuleiten
Beispiel:
class Fahrzeug{}
class Auto extends Fahrzeug{}
Ableitung
- Eine Klasse die von der Oberklasse die Methoden und Eigenschaften erbt
Beispiel:
class Fahrzeug{
String fahren;
public void fahren(“Brum”);
System.out.println(fahren);
}
class Auto extends Fahrzeug{
public void fahren(“Brum”);
}
instanceof
- Überprüft, ob ein Objekt oder eine Instanz zu einer bestimmten Klasse gehört
Beispiel:
if (obj instanceof Auto) {
System.out.println(“obj ist ein Auto”);
}
Basisklasse
- Synonym für Ober -oder Superklasse
Garbage Collection
- Überflüssige oder nicht mehr beötigte Objekte werden aus dem Code gelöscht, um Speicher zu sparen
- Java nutzt diese Methode, um Speicherplatz zu sparen
Casting
- Ein Objekt oder Wert eines Datentyps, wird in ein anderen Datentyp umgewandelt
Beispiel:
double d = 9.5;
int i = (int) d; //double wird zu int
Immutable Klassen*
- Eine Klasse, deren Objekte nach der Erstellung nicht mehr verändert werden können
Beispiel:
final class Person {
private final String name;
public Person(String name) {
this.name = name;
}
public String getName() {
return name;
}
}
Constructor Chaining*
- Ein Konstruktor ruft einen anderen Konstruktor derselben Klasse auf
- Wird mit Schlüsselwort ‘this()’ realisiert
Beispiel:
class Auto {
public Auto() {
this(“Unbekannte Marke”);
}
public Auto(String name) {
System.out.println(“Marke: “ +marke);
}
}
Package
- Eine Sammlung von verwandten Klassen
- Hilft dabei, den Code zu organisieren & Namenskonflikte zu vermeiden
Beispiel:
package meinPackage;
//Weitere Imports hier
//Code hier
Konstante
- Eine Variable, die nach ihrer Initialisierung nicht mehr verändert werden kann
- Wird mit ‘final’ deklariert
Beispiel:
final int MAX_WERT = 100;
Überschreiben (Method Overriding)
- Eine Methode aus der Oberklasse wird in der Unterklasse (abgeleiteten Klasse) neu definiert
Beispiel:
class Fahrzeug {
public void fahren() {
System.out.println(“Fahrzeug fährt”);
}}
class Auto extends Fahrzeug {
@Override
public void fahren() {
System.out.println(“Auto fährt”);
}}
Überladen (Method Overloading)
- Wenn mehrere Methoden den gleichen Namen, aber unterschiedliche Parameterlisten haben
Beispiel:
class Mathe {
public int addieren(int a, int b) {
return a+b;
}
public double addiere(double a, double b) {
return a+b;
}}
this
- Verweist auf das aktuelle Objekt der Klasse
- Wird verwendet, um auf Instanzvariablen oder Methoden innerhalb derselben Klassen zuzugreifen
Beispiel:
class Auto {
private String marke;
public Auto(String marke) { this.marke = marke; //Verweis auf Instanzvariable }}
Interface
- Schnittstelle, die Methoden definiert, aber keine Implementierungen enthält
- Klassen können ein oder mehrere Interfaces implementieren
Beispiel:
interface Fahrzeug {
void fahren();
}
class Auto implements Fahrzeug {
public void fahren() {
System.out.println(“Auto fährt”)
}}
static
- Schlüsselwort, das angibt, dass etwas zur Klasse gehört & nicht zu einer Instanz
Beispiel:
static int zahl = 10; //static-Attribut
static class
- Eine Zahl, die als innere Klasse deklariert ist & ohne Instanz der äußeren Klasse aufgerufen werden kann
class AußereKlasse {
static class InnereKlasse {
//Code hier
}}
static Methode
- Eine Methode, die ohne Instanz der Klasse aufgerufen werden kann
Beispiel:
class Mathe {
public static int addiere(int a, int b) {
return a + b;
}}
int ergebnis = Mathe.addiere(5, 3); //Aufruf ohne Instanz
static Attribut
- Ein Attribut, das zur Klasse gehört & nicht zur Instanz
- Wird von allen Instanzen geteilt
Beispiel:
class Auto {
static int anzahl Autos = 8;
}
Instanz
- Ein Objekt, das von einer Klasse erstellt wurde
Beispiel:
Auto meinAuto = new Auto(); //Instanz von Auto
Oberklasse/ Superklasse
- Die übergeordnete Klasse, von der andere Klassen erben
Beispiel:
class Fahrzeug{} //Beispiel Oberklasse für bspw. Auto
super
- Verweist auf die Oberklasse
- Wird verwendet, um Konstruktoren oder Methoden der Oberklasse aufzurufen
MERKSATZ: Ruft die Methoden/ Konstruktoren der Oberklasse auf
Abgeleitete Klasse
- Eine Klasse, die von einer anderen Klasse (Oberklasse) erbt
-Übernimmt Eigenschaften und Methoden der Oberklasse, kann aber auch neue Methoden und Attribute hinzufügen oder bestehende überschreiben
Beispiel:
class Fahrzeug {
void fahren() {
System.out.println(“Fahrzeug fährt.”);
}
}
class Auto extends Fahrzeug {
void hupen() {
System.out.println(“Auto hupt.”);
}
}
Arrays
- Sammlung von gleichartigen Elementen, die über Index angesprochen werden
- Indiziies = Mehrzahl von Index
Beispiel:
int [] zahlen = {1, 2, 3, 4, 5};
System.out,println(zahlen[0]);
Ausgabe: 1
for-Schleife
- Wiederholt einen Codeblock für eine bestimmte Anzahl von Durchläufen
Beispiel:
for (int i = 0; i <5, i++) {
System.out.println(i);
}
- int i = 0: Startwert, wird ab 0 gezählt, kann aber auch ab 1 usw.
- i < 5 : Wird so lange durchlaufen bis i gleich oder größer 5 ist
- i++ : Erhöht den Zähler um 1 nach jedem Durchlauf
AUSGABE: 1-5 - i– Zählt rückwärts (Verringert um 1)
AUSGABE: 5-1