Java- Klassen und Objekte?

... komplette Frage anzeigen

5 Antworten

Eine Klasse ist ein "Bauplan" mit dessen Hilfe entsprechende Objekte erstellt werden können.

Entsprecht gibt es jede Klasse nur einmal - aber man beliebige viele Objekte dieser Klasse "fabrizieren"

Der "Bauplan" (also die Klasse) beschreibt welche Variablen und welche Methoden die Objekte dieser Klasse haben

Darüber hinaus gibt es auch noch STATIC-Methoden und Variablen die es pro Klasse nur einmal gibt und die sich alle Objekte der Klassen teilen.

Beispiel:

Klasse Kunde hat vielleicht Variablen wie KundenNr,Name,Anschrift

Wird ein neuer Kunde erstellt braucht der eine neue Kundennr - dazu wäre es hilfreich an zentraler Stelle die zuletzt vergebene Kundennummer zu speichern. Diese zentrale Stelle wäre eine static variable ("letzteKdNr") in der Klasse "Kunde"  da man die ja nur einmal braucht und nicht für jeden Kunden getrennt.

Entsprechend gibt es dan auch static-Methode wie z.B. getNextFreeCustomerNumber() die auf Klassenebene arbeiten (und nur auf static-Variable und andere static-Methoden der Klasse zugreifen

Methoden die so heißen wie die Klasse selbst nennt man Constructor

Diese Methoden initialisieren ein neues Objekt der entsprechenden Klasse und liefern das zurück. .

Diese Constructor-Methoden müssen immer zusammen mit den Schlüsselwort new aufgerufen werden

new ist also keine Methode im eigentlichen Sinne sondern der Befehl anhand des "Bauplans" ein neues Objekt zu erstellen und dieses dann anschließend durch Aufruf der entsprechenden Constructor.Methode des Objekts zu initialisieren




Antwort bewerten Vielen Dank für Deine Bewertung

Klassen und Objekte sind so ziemlich das gleiche. Jedenfalls in der klassenbasierten Objektorientierung.

Erzeugst du ein neues Objekt, dann werden die Attribute (Eigenschaften) und Methoden dieses Objektes erzeugt.

Das "new" steht nur für "neu". Und "neu" bedeutet Kontruktor + Eigenschaften.

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von EightSix
31.05.2016, 13:45

Eine Klasse ist der Bauplan und ein Objekt ist eine Instanz davon. In einer Variable wird dann die Referenz auf die Instanz gespeichert.

Also dass Klassen und Objekte das selbe sind ist Quatsch. Und was ist eine "klassenbasierte Objektorientierung"? Wenn dann gibt es eine objektorientierte Programmierung

2

"new" ist keine Methode, sonder lediglich ein Keyword.

In den Klassen stehen dann die Methoden und Attribute, das ist korrekt.

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von Irgendwer1501
31.05.2016, 10:16

Was ist dann "new"? 

0