JAVA & Objektorientiertes Programmieren
Eine Einführung in das objektorientierte Programmieren mit JAVA Diese Kartei baut auf dem Stoff des Moduls OOP an der HSLU geleitet von Roland Gisler auf.
Eine Einführung in das objektorientierte Programmieren mit JAVA Diese Kartei baut auf dem Stoff des Moduls OOP an der HSLU geleitet von Roland Gisler auf.
Kartei Details
Karten | 500 |
---|---|
Lernende | 19 |
Sprache | Deutsch |
Kategorie | Informatik |
Stufe | Universität |
Erstellt / Aktualisiert | 04.12.2016 / 16.08.2024 |
Weblink |
https://card2brain.ch/box/java_objektorientiertes_programmieren
|
Einbinden |
<iframe src="https://card2brain.ch/box/java_objektorientiertes_programmieren/embed" width="780" height="150" scrolling="no" frameborder="0"></iframe>
|
Was sind Eigenschaften einer Methode?
- Zugriffsmodifizierer häufig public oder private
- spezieller Rückgabetyp void möglich, d.h. kein Rückgabewert
- kann auch keine Parameter besitzen
- Innerhalb derselben Klasse müssen alle Methoden in ihrer Signatur unterschiedlich sein!
--> unterschiedliche Methodennamen, oder Parameter mit unterschiedlichen Datentypen, oder unterschiedliche Anzahl Paramter
Können zwei Methoden denselben Namen besitzen?
Ja, wenn ihre Parameter unterschiedliche Datentypen besitzen oder sie eine unterschiedliche Anzahl Parameter haben!
Was sind Eigenschaften des Methodenrumpfs?
- Eigentliche Implementation der Methode {...}, d.h. Block nach Methodenkopf
- beinhaltet Deklarationen und Anweisungen
- Anweisungen können ihrerseits wieder Blöcke beinhalten
- Innerhalb eines Blocks werden Deklarationen und Anweisungen durch Semikolon (;) voneinander getrennt
- Der Rückgabewert wird (falls nicht void) mittels return ... ; zurückgegeben
- Ein return beendet unmittelbar die Ausführung einer Methode; es darf danach keine unerreichbaren Anweisungen mehr geben!
Was sind Merkmale und Eigenschaften von lokalen Variablen?
- Werden innerhalb einer Methode bzw. eines Blocks deklariert.
- Müssen explizit mit Werten initialisiert werden! (im Gegensatz zu Attributen nicht automatisch)
- nur während der Ausführung des entsprechenden Blocks existent und sichtbar
- Erfordern intern Speicherplatz auf dem Call-Stack
Was kann man machen damit formalen Parametern keine neuen Werte im Ausführungsblock zugewiesen werden kann?
als final markieren
z.B. (final String house, final int houseNumber)
Sind Parameter ausserhalb einer Methode sichtbar?
Was sind die Merkmale und Eigenschaften der Parameter?
- Formale Parameter werden im Kopf einer Methode (oder eines Konstruktors) deklariert
- Beim Aufrug der Methode/des Konstruktors müssen Initialisierungswerte übergeben werden
- Wichtig: Variablenwerte werden bei der Übergabe immer kopiert (call-by-value, Speicherplatz auf Call-Stack)
- Sind nur während der Ausführung der Methode / des Konstruktors existent und nur innerhalb der Methode / des Konstruktors sichtbar
- Über die aktuellen Parameter lässt sich das Verhalten von Methoden steuern
Was sind die Merkmale von Rückgabewerten?
- return funktioniert auch mit Ausdrücken (return (a+7))
- mit void wird kein Rückgabewert zurückgegeben
- eine Methode kann mit return höchsten einen Wert zurückliefern
- man kann bei Java eine Methode mit Rückgabewert aufrufen, ohne den Rückgabewert entgegen zu nehmen!
- Methoden mit Rückgabewert sind in der Regel besser lesbar, wenn das return einzig in der letzten Anweisung vorkommt!
Variablen eines elementaren Datentyps enthalten jeweils mehrere Werte
Variablen eines elementaren Datentyps enthalten jeweils nur einen einzigen Wert
Der Computer speichert alle Werte (Zahlen, Zeichen, etc.) als "Bitmuster" (Folge von 1 und 0) ab
Mit einem Datentyp wird beschrieben, wie dieses Muster interpretiert wird und welcher Wertebereich damit möglich ist
Jeder Datentyp legt implizit fest, welche Operationen möglich sind, bzw. wie diese ausgeführt werden
Datentypen legen die Genauigkeit durch die explizite Angabe des Wertebereichs fest
Jeder Datentyp legt implizit auch eine Genauigkeit fest
An welchen Stellen können elementare Datentypen eingesetzt werden?
An welchen Stellen können elementare Datentypen eingesetzt werden?
Überall, wo ein Typ (Klasse) verlangt ist, kann häufig auch ein elementarer Datentyp verwendet werden
Überall, wo ein Typ (Klasse) verlangt ist, kann nie ein elementarer Datentyp verwendet werden
Warum ist nicht alles konsequent ein Objekt bzw. eine Klasse?
Tatsächlich brechen mit den elementaren Datentypen einige Programmiersprachen Grundprinzipien der Objektorientierung zugunsten von Einfachheit und Effizienz
Ganze Zahlen werden in Java implizit per Default als byte betrachtet
Was ist der Hauptvorteil von byte und short als Datentypen?
Sie können besonders bei grossen Datenmengen viel Platz sparen
Da wir heute über viel Speicher verfügen, lohnt sich eine seriöse Auswahl des geeigneten Datentyps nicht (z.B. byte statt int)
Welche Datentypen gibt es für Gleitkommazahlen?
float und double
ohne explizite Angabe werden Gleitkommazahlen in Java per Default als double betrachtet
Auf wieviele Stellen ist ein float? (Daumenregel)
auf 7 Stellen
Auf wieviele Stellen ist ein double genau?
auf 14 Stellen
String ist ein primitiver Datentyp
boolean ist ein primitiver Datentyp
char ist kein primitiver Datentyp
Was sind die Eigenschaften von char?
Ein char enthält genau ein Zeichen und wird mit einfachen Anführungszeichen (') eingefasst.
- Beispiel: char c = 'A';
- Nicht verwechseln mit Strings, das sind Zeichenketten!
Bei den Ganzzahltypen (z.B. long) kann jeder mögliche Wert des jeweiligen Wertebereiches präzise abgebildet werden
Kann 2'000'000.05 als float präzise abgebildet werden?
Können Strings wie folgt aneinander gereit werden?
word = "Weihnacht" + "s" + "mann";
String ist in Java kein elementarer Datentyp, sondern eine Klasse/Objekt