Kann jemand mir OOP Bzw Objektorientierte Programmierung (Java) erklären, ich verstehe es nicht ganz?

... komplette Frage anzeigen

2 Antworten

Naja, eigentlich ist es ganz einfach. Objektorientierung bedeutet, dass gewisse "Objekte" allgemein definiert sind, diese Objekte haben gewisse Parameter und können gewisse Aktionen ausführen.
Ein bestimmtes "Objekt" (in Java Klassen) nennt man Instanz einer Klasse oder auch Objekt.

Anders gesagt: Du hast eine Klasse Mensch angelegt. Ein Mensch ist zum Beispiel über Größe, Gewicht, einen Energievorrat und Geschlecht definiert. Ein Mensch kann gewisse Sache machen, wie Laufen, Essen, schlafen usw. Das sind die Methoden einer Klasse.

In deiner Klasse steht aber nur, wie ein Mensch definiert ist, und was er wie tun kann. Jedoch nicht, wie groß, schwer usw ein bestimmter Mensch (Instanz einer Klasse) ist.

Susi oder Hans wären zum Beispiel Menschen, die beide unterschiedliche Geschlechter, verschiedene Größen und Gewichte und Energiereserven haben. Sie können beide die gleichen "Aktionen" ausführen, aber manche eben – je nachdem wie die Methoden definiert sind – unterschiedlich ;)

So funktioniert das auch mit Objekten in Java. Man definiert etwas allgemein und kann dann bestimmte Sachen damit machen. Das ist notwendig um gewisse – vor allem sich wiederholende Aktionen – nicht jedes Mal neu geschrieben werden müssen, wenn du sie brauchst. Zum Beispiel kannst du so ganz einfach abfragen, ob etwas in einem String enthalten ist, oder zwei Strings miteinander vergleichen ("String" ist eine Klasse von Java, "equals" eine sehr bekannte Methode, dein String mystring = "hello world" ist eine Instanz der Klasse String bzw ein Objekt). Es erleichtert dir also das Leben :)

Hoffe das ist irgendwie verständlich.

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von KingOff
06.01.2016, 23:57

danke , wirklich hilfreich, kannst du mir auch Aggregation/Assoziation (beidseitige Beziehungen) erklären? MfG KingOff

0
Kommentar von Nick1234512345
07.01.2016, 00:06

Wow wirklich sehr toll erklärt Respekt.

0

objektorientierte Programmierung soll alles einfacher für den Programmierer machen. Klassen und Objekte gibt es ja auch in der Wirklichkeit. (Klasse = Bauplan eines Hauses, Objekt = Haus) ..Es kann mehrere Häuser vom selben Bauplan geben. 

Vil hast du ja schon mit structs in C gearbeitet? Eine Klasse ist eigentlich ein Struct - also ein Datentyp - der halt zusätzlich noch über Funktionen (Methoden) verfügt. 

Objekte/Instanzen einer Klasse werden für gewöhnlich dynamisch angelegt(am heap gespeichert) - was bedeutet, dass selbst wenn du die Klasse definierst, es noch gar kein Objekt dieser Klasse gibt.

 

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von KingOff
06.01.2016, 23:56

danke , wirklich hilfreich, kannst du mir auch Aggregation/Assoziation (beidseitige Beziehungen) erklären? MfG KingOff

0

Was möchtest Du wissen?