← Alle Stockwerke

Stockwerk 7

Java

Begriffe, JDK/JRE, Algorithmen & OOP

Begriffe und Definitionen

...

Algorithmus

Folgende Anweisung zur Lösung von Aufgaben

  • Anweisungen sind eindeutig, elementar, ausführbar.
  • Folge ist endlich (Anfang - Ende).

Bei gleichen Eingangswerten liefert die Folge das gleiche Ergebnis.

Programmiersprache

Sprache zum Formulieren von Anweisungen für den Computer. Sprache besteht aus einer Anzahl von grundlegenden Begriffen, den Schlüsselwörtern.

Anweisungen werden aus Schlüsselwörter, Variablen, Operatoren, Referenzen u. a. aufgebaut. Die Anweisungen sind nach festgelegten Regeln aufzubauen - Syntax und Semantik.

Syntax
Rechtschreibung der Anweisung
Semantik
Bedeutung der Anweisung
Compiler

Programm zum Übersetzen von Quellcode:

Java Compiler erzeugt Bytecode (*.class) - java.exe

C++ Compiler erzeugt Objekt-Code (*.obj)

Interpreter

Programm welches Anweisungen in Maschinencode überträgt und sofort ausführt.

Visual Basic Script: *.vbs

Java-Interpreter: *.class (Bytecode wird vom Interpreter in Maschinencode übertragen und ausgeführt

Referenz

Verweis auf ein Objekt

Null (Null Referenz)

„leere“ Referenz die einen Platz im Arbeitsspeicher für eine Objekt Referenz freihält.

Datentyp

Datentyp beschreibt die Variablenart und legt damit den Umfang des zu reservierenden Speichers fest.

Strukturanweisungen

Auswahlanweisungen (if, switch) und Schleifenanweisungen (while, do while, for)

Klasse

Klasse ist der Bauplan für Objekte oder Klasse beschreibt den Aufbau der Objekte. (Klassen definieren Objekttypen.)

Klassen enthalten die Eigenschaften und Methoden der Objekte.

Instanz

Synonym  für Objekt

Prinzipien OOP

Vererbung ,

Polymorphie,

Datenkapselung

Datenkapselung

Eigenschaften von Objekten werden gekapselt (Privater Zugriff). Zugriff auf Eigenschaften über Methoden.

Polymorphie

Methoden können vielgestaltig sein.

Überladen – gleiche Methoden mit unterschiedlichen Parametern.

Überschreiben – überschreiben von Methoden der Basisklasse.

Vererbung

Klassen können auf Basis vorhandener Klassen definiert werden. (extends)

(Generalisierung und Spezialisierung sind Vorgehensweisen beim Entwurf/Modellierung von Vererbungsstrukturen)

Methode

Methode enthält die Funktionalität/Verhalten eines Objektes.

Signatur: Methodenname und Parametervariablen mit Argumenten

Merke: Methode gibt einen/keinen Wert zurück.

Argument ist der konkrete Wert, welcher in die Parametervariable eingetragen wird und zur Ausführung der Methode genutzt wird.

Klassenmethode

Objektunabhängige Methode , wird mit static  gekennzeichnet Methodenaufruf:  Klassenname.methodenname(argumente)

Beispiel:

int wert  = Sammlung.runden(123.45678, 2);

double zufallswert = Math.random();

Instanzmethode

Methode eines Objektes,

Methodenaufruf:

Objektreferenz.methodenname(argumente)

Beispiel:

int zinsen = konto.verzinsen();

int umfang = rectangle.berechneUmfang();

Eigenschaft

Eigenschaften sind die Variablen der Objekte.

Attribut

Synonym für Eigenschaft, Objektvariable, (engl. field)

Klassenvariable

Variable unabhängig von einem konkreten Objekt;

Beispiel: Zinssatz für alle Konten der Kontoverwaltung

Math.PI

System.out

Instanzvariable

Variablen eines Objektes

Superklasse

Basisklasse im Rahmen der Vererbung

Subklasse

Abgeleitete Klasse im Rahmen der Vererbung

Modifizierer

final, static, private, public, protected

final

endgültig, nicht veränderbar

finale Variablen – Konstanten

finale Methoden – nicht änderbar, nicht überschreibbar

finale Klassen – nicht ableitbar

static

Kennzeichnung der Klassenelemente (Methoden, Eigenschaften)

public

Kennzeichnung  von öffentlichen Elementen,

Direkter Zugriff immer möglich.

protected

Kennzeichnung von geschützten Elementen

Auf geschützten Elementen

Auf geschütztes Element kann nur aus der Subklasse direkt zugegriffen werden.

java.lang

Java-Sprachpaket enthält grundlegende Klassen der Programmiersprache. Klassen dieses Paketes brauchen nicht importiert werden.

java_lang_Object

Klasse Object ist die Superklasse aller Klassen; sie ist die Wurzel jeder Vererbungshierarchie

String toString()

Methode der Klasse Object und wird in der Regel überschrieben;  rEck ist die Objektreferenz, automatischer Aufruf der toString-Methode

System.out.println(rEck);

boolean equals()

Methode der Klasse Object und sollte überschrieben werden, um Objekte auf Identität zu vergleichen.

String wort1 = „Hallo“, String wort2 = „Hallo“;

if (wort1.equal(wort2)) …

// == ist nur für Gleichheitsprüfung der Objektreferenzen z.B. if (wort1 == wort2)

Interface

Spezielle Klasse mit Methodendeklarationen; mittels Interface kann die Funktionalität von Klassen vorgeschrieben werden.

Interface  (im Paket java.lang) enthält eine Methodendeklaration (abstract)  int compareTo(T o)

Objekte der Klassen, welche Comparable<T> implementieren, sind vergleichbar. Dazu muss in der Klasse die Methode überschrieben werden


T steht für einen beliebigen Objekttyp.

throws

Exception wird weiter geworfen

Abstrakte Methode

Abstrakte Methode wird nur (durch den Methodenkopf) deklariert. Sie enthält keine Anweisungen/Algorithmen/Funktionalität.

public abstract double berechnenPreis (int tags);

Abstrakte Klasse

Enthält mindestens eine abstrakte Methode (und viele weitere Methoden und Eigenschaften).

Von ihr kann kein Objekt definiert werden – kann nicht instanziiert werden.

Exception

Ausnahmesituation, welche während der Laufzeit von Programmen eintreten kann.

Werfen von Exception: throw new Exception („Meldungstext“);

Weiterwerfen einer Exception:

public long pruefen (String strNummer)

throws DataFormatException(…)

Fangen einer Exception:

try { // exceptionwerfende Methode}

catch (Exception e)

{ //Behandlung der Ausnahmesituation}

RegEx

Regular Expression – Regulärer Ausdruck ist eine Zeichenkette, welche zum Vergleich/Prüfen/Suchen/u.a.m. von Strings verwendet wird.