Title | Klassen und Objekte in Java |
---|---|
Author | Andrea Faßbender |
Course | Algorithmen und Programmierung I |
Institution | Technische Hochschule Köln |
Pages | 5 |
File Size | 114.6 KB |
File Type | |
Total Downloads | 30 |
Total Views | 144 |
Praktikum, Lernunterlagen...
Klassen und Objekte in Java
Check Namen von Klassen beginnen mit Großbuchstaben Java Klassen
Sind die Baupläne für Objekte Entsprechen den Funktionen/Prozeduren in C Funktionieren aber objektorientiert Bessere Organisation von umfangreichem Code, Organisation in verschiedene Klassen können Teilaufgaben lösen (z.B. Queue Class Queue und Class Applikation für Simulation) Wiederverwendbarkeit von Code
Grundstruktur einer Klasse Class ClassName {Komponenten} -
Komponenten sind Instanzvariablen (Datenelemente oder Attribute) oder Methoden Methoden werden kleingeschrieben, zusammengesetzt: erstes Wort klein, danach groß Komponenten einer Klasse können Modifikatoren vorangestellt werden public, private, protected, static, final, volatile, abstract usw. Ohne Modifikator ist die Klasse „friendly“ (öffentlich) Private Komponente: Nur Zugriff innerhalb der selben Klasse, Public/Friendly: Zugriff auch von außen auf die Komponenten
Entwurf von Klassen -
Was soll man mit dem Objekt der Klasse machen können (Schnittstelle) privat oder public Wie ist der interne Aufbau der Objekte
Konstruktoren -
Erledigen die Initialisierungsaufgaben Java erzeugt automatisch bereits einen Default-Konstruktor Eigene Programmierung eines Konstruktors zweckmässig Konstruktoren-Namen müssen mit Klassennamen übereinstimmen und beginnen immer mit Großbuchstaben Man kann mehrere Konstruktoren für verschiedene Objekte programmieren, die untereinander mit Schlüssselwort this() aufgerufen werden Konstruktoren liefern niemals Rückgabewerte
This-Referenz (Beispiel in Kaffeebar) -
Schlüsselwort this ermöglicht, innerhalb des Codes einer Klasse auf Methoden oder Variablen der Instanz zuzugreifen Vermeidet Unklarkeiten http://michael.hahsler.net/JAVA/pdf/03_3Methoden.pdf
Unterschied Klasse und Objekt -
Objekt (auch Instanz) ist eine Einheit von Daten und Funktionen, die auf den Daten operieren Die Struktur der Daten und Funktionen gleichartiger Objekte sind in der Klasse definiert Variablen legen den augenblicklichen Zustand des Objektes fest Funktionen der Klasse sind Methoden. Definieren das Verhalten der Objekte in der Klasse
Get und set Methoden (Getter/Setter) Instanzvariablen werden private gesetzt, um sie vor externen Zugriff zu schützen Getter und Setter bieten Methoden, auf die Variablen zugreifen zu können Get: Aufrufen, Set: Verändern
-
Arrays und Strings Klassenvariablen und Klassenmethoden
class Rational { //Instanzenvariable private int zaehler; private int nenner; //Konstruktor public Rational(int z, int n) { zaehler = z; nenner = n; } //Methode ausgeben public void ausgeben() { System.out.println(zaehler + " / " + nenner); }
public static void main(String[] argv) { Rational x = new Rational(0,1); Rational a = new Rational(7,3); a.ausgeben(); } }
Erzeugen eines Objektes der Klasse Rational im Main Programm Konstruktor Rational (int a, int b) Rational x = new Rational (7,3)
Mit Input System.out.print("Bitte den Zaehler eingeben: "); int zaehler = scanner.nextInt(); System.out.print("Bitte den Nenner eingeben: "); int nenner = scanner.nextInt(); Rational meinBruch = new Rational(zaehler,nenner);
Aufruf der Methoden aus der Klasse Rational im Hauptprogramm z.B. meinBruch.kuerze() meinBruch.ausgeben()
Erzeugen eines Objektes in Form eines Arrays in Java
Erzeugt einen Array der Klasse Kaffee Kaffee[] kaffeeliste = new Kaffee[anzahl];
Erzeugt neue Einträge innerhalb des Arrays for (int i = 0; i < anzahl; i++) { System.out.println("Wie soll der Kaffee heissen?"); String name = in.next(); System.out.println("Wie teuer soll der Kaffee sein?"); double preis = in.nextDouble(); Kaffee a = new Kaffee(name,preis); kaffeeliste[i] = a; }
a ist ein Alias für das neue Objekt innerhalb des Arrays a wird übergeben an kaffeeliste[i] Mit for each Schleife Array ausgeben for (Kaffee element : kaffeeliste) { System.out.printf("%n %10s", element.getName()); System.out.printf("Euro%.2f%n", element.getPreis()); }...