Klassen-objektorientierung?

...komplette Frage anzeigen

3 Antworten

Ich bin mir nicht sicher ob ich deine Frage richtig verstanden habe aber ich Versuch mal zu antworten. Ich denke in deiner Frage geht es um Java objekte? In java kann man eine klasse erstellen in der du dann sogenannte private oder public Attribute erstellen kannst. Das sieht dann zb so aus:
Klasse: Auto
Attribute: modell, farbe, gewicht, etc.

So kannst du dann jedes objekt (auto) nach diesem muster erstellen indem du die Attribute (modell, Farbe, gewicht) in der startklasse oder über eine Tastatureingabe eingibst.

Wenn du dich näher mit objektorientiertem programmieren in Java beschäftigen möchtest empfehle ich dir das buch "java ist auch eine insel". Damit kann man sehr gute ohne ausgeprägtes vorwissen in java einsteigen. Ein gewisses Vorwissen ist trotzdem von Vorteil, somit kann man einige Kapitel nur überfliegen anstatt Stunden aif einer seite zu hängen.. :)

Ich hoffe ich konnte helfen..

Gruß affe2

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von BOZZJANEK
13.12.2015, 21:41

vielen dank für deine antwort. im prinzip weist du glaube ich was ich meine. es geht mir eigentlich nur um ein kleines detail. mich interessiert ob eine klasse für viele GLEICHE objekte ein bauplan ist oder ob klassen dazu da sind für mehrere UNTERSCHIEDLICHE autos einen bauplan mit variablen sind anhand derer die autos deffeniert werden. (die methoden und attribute dieser unterschiedlichen objekte sind gleich es geht mir nur um die werte für die parameter)

1
Kommentar von affe2
13.12.2015, 21:51

also du kannst in eine klasse, nennen wir sie wieder auto, alle "autos" packen. Es muss nur jedes auto auch alle Attribute haben. D.h wenn du die Attribute farbe,sitze und marke hast kann auto1 bspw rot,4,opel und auto2 grün,7,vw sein. Willst du jetzt aber ein cabrio hinzufügen und auch ausgeben lassen dass es ein cabrio ist brauchst du ein neues Attribut das du für alle autos festlegen musst. Ich finde das immer schwierig in Worte zu fassen :D

1
Kommentar von affe2
13.12.2015, 22:21

achso die Vererbung habe ich gar nicht in betracht gezogen. Man kann natürlich auch eine neue subklasse cabrio erstellen die die Attribute von der superklasse auto erbt. ich meinte es aber so dass man ein Attribut cabrio in der klasse auto festlegt (die true oder false als wert bekommt) und dann in der Fachklasse eine zeile programmiert (zb prüfeCabrio() ) die prüft ob der wert des Attributs cabrio true oder false bzw ja oder nein ist :) aus klassen werden objekte eines typs in einer klasse zusammengefasst (hier: alle autos in der klasse auto). Beim programmieren gibt es viel Freiheit deshalb gibt es immer verschiedene wege die zum gleichen Ergebnis führen :)

2

Ich glaube das "Bild" sollte man nicht zu wörtlich nehmen.

Klassen fassen Code (Methoden) und Daten (Attribute) zusammen und "kapseln" sie dabei, sodass auf den Daten nur die Methoden arbeiten können, die zu der jeweiligen Klasse gehören.

Den Vorgang, aus einer Klasse ein Objekt zu erzeugen, nennt man "Instanziierung". Bei diesem Vorgang wird Speicher für den Datenbereich des neu zu erstellenden Objekts reserviert, in dem dann die entsprechenden Attributwerte für das konkrete Objekt hinterlegt werden. Welche Werte das sind, wird durch die Definition der Klasse festgelegt. Die Methoden sind im Prinzip Prozeduren, die zusätzlich zu den übergebenen Parametern auch immer eine implizite "Selbstreferenz" (in vielen Sprachen mit dem Schlüsselwort this bezeichnet) erhalten. Diese benötigen sie, um auf den Datenbereich des konkreten Objekts zuzugreifen. Ein Objekt bezeichnet man dementsprechend auch als "Instanz einer Klasse".

Ein "Objekt" im Sinne der objektorientierten Programmierung muss kein Modell eines "physischen Gegenstands" sein. Dieses Bild wird meiner Meinung nach sehr stark "überstrapaziert".

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von BOZZJANEK
13.12.2015, 21:41

vielen dank für deine antwort. es geht mir eigentlich nur um ein kleines detail. mich interessiert ob eine klasse für viele GLEICHE objekte ein bauplan ist oder ob klassen dazu da sind für mehrere UNTERSCHIEDLICHE autos einen bauplan mit variablen sind anhand derer die autos deffeniert werden. (die methoden und attribute dieser unterschiedlichen objekte sind gleich es geht mir nur um die werte für die parameter)

1

Du hast 4 Klassen

  1. class Auto{}: enthält das rohe Auto
  2. class Lackiererei{}: enthält verschieden Farben und Pinsel
  3. class Motor{}: enthält verschieden starke Motoren
  4. class Ladentheke{}: nimmt deine Bestellung an, kümmert sich um die Auftragserfüllung und gibt die dein Traumauto zurück

Jeder nach seinen Wünschen: der eine möchte ror und 100PS, der andere grün und nur 80PS. Dazu werden aus benötigten Klassen Objekte instanziiert und mit dieses Objekten wird dein Auto gefertigt und ausgeliefert.

Das ist Teil des Prinzip der der Objektorientierten Programmierung, übrigens nicht nur in JAVA, auch in anderen Programmier- & Skriptsprachen.

Hier ein Beispiel Tutorial Model View Controller mit PHP, vielleicht unterstützt es Dich beim Verstehen: http://symfony-lernen.de/php_framework_tutorial/model-view-controller

Antwort bewerten Vielen Dank für Deine Bewertung

Was möchtest Du wissen?