Kommunikation zwischen Klassen?

  • Hallo Leute,


    ich muss für die Schule einen Vortrag vorbereiten, der sich mit dem Thema "Kommunikation zwischen Klassen" beschäftigen soll. Dies gilt in meinem Fall besonders am Beispiel der Programiersprache Processing bzw. Arduino.
    Jetzt kommt meine Frage, und zwar wie kommunizieren die Klassen untereinander allgeimein beim Programmieren, und sollte sich zusätzlich noch einer mit der von mir benötigten Programmiersprachen auskennen dann im Besonderen bei denen?


    Ich hoffe ihr könnt mir helfen :)


    Gruß

  • Also was mir bekannt ist, wären Beziehungen zwischen Klassen...


    siehe hier.


    Darüber läuft im Prinzip die gesamte "Kommunikation" wobei man natürlich nicht vergessen sollte, das Klassen im Prinzip nicht miteinander kommunizieren können, weil sie erst zu Objekten werden müssen um überhaupt IRGENDETWAS zu können^^

  • Danke, die seite ist sehr nützlich :)


    Das heißt aber wenn der Titel der Arbeit "Processing: Einführung in die OPP-Themenbereiche: Kommunikation zwischen Klassen, Vererbung und Polymorphismus" lautet, ist die Aufgabenstellung praktisch falsch, da Klassen ja nicht kommunizieren?

  • Naja.
    Man muss sich das vereinfacht so vorstellen: Du programmierst eine Klasse. sagen wir mal die klasse "Haus".
    Dann ist die Klasse sowas wie der Bauplan. Wenn du nun irgendwo diese klasse benutzt, dann baut der Compiler praktisch aus dieser Klasse ein "Objekt". Dieses Objekt ist dann das was irgendwo im Arbeitsspeicher des Rechners liegt. Wenn man es also ganz streng nimmt, sind Klassen nur für den Programmierer existent...
    Prinzipiell ist die Aufgabenstellung natürlich trotzdem richtig, aber es geht genau um die Themen, die in der Aufgabenstellung angesprochen sind.
    Kommunikation ist dabei das schwammigste, mehr oder weniger Überbegriff. Vererbung und Polymorphie sind da schon konkreter. Aber das kannst du dir alles sehr gut via wikipedia und co anlesen ;)

  • Vielen Dank, das war auf jeden fall schonmal sehr hilfreich :)


    Was ich mich aber immernoch Frage, du sagtest Kommunikation ist ein schwammiger Überbegriff, aber für was ist er denn ein Überbegriff? Wie kann man sich das vorstellen, inwiefern können Klassen bzw. Objekte kommunizieren, und was passiert dabei?

  • Naja. Unter der Kommunikation zwischen Klassen versteht man normalerweise irgendwelche übergaben von Parametern.
    Sagen wir mal in deinem Hauptprogramm wird ein Objekt der Klasse A erstellt. Dabei übergibt das "Hauptprogramm" der Klasse irgendwelche Daten in Parametern. Dann hat sowas wie Kommunikation stattgefunden.
    Ich weiß ja nicht was du schon kannst, ist also schwierig das zu erklären^^
    Aufrufe von Funktionen sind unweigerlich der Austausch von Informationen zwischen zwei Klassen.

  • Jetzt muss ich mich doch nochmal melden..


    Also Fakt ist ich muss jetzt eine Seminararbeit (für die ältere Generation eine Facharbeit) genau über dieses Thema: "Processing: Einführung in die OOP-Themenbereiche: Kommunikation zwischen Klassen, Vererbung und Polymorphismus" schreiben..


    meien Gliederung sieht wie folgt aus:


    Gliederung
    1. Einleitung
    2. Einführung und Erklärung der wichtigsten Begriffe der OOP
    3. Kommunikation zwischen Klassen
    4. Erklärung des Unterschieds zwischen der Kommunikation zwischen Klassen und der Kommunikation zwischen Objekten
    5. Vererbung und Polymorphismus
    6. Schluss


    Doch ich habe leider überhaupt keine Ahnung was ich bei kKommunikation zwischen Klassen schreiben muss.. Kann mir jemand genau sagen welche Möglichkeiten es für Klassen gibt zu kommunizieren?


    Gruß


    daebbe

  • Naja Klassen gibt eigentlich nur ein paar (mir bekannte) Möglichkeiten wie Klassen miteinander kommunizieren können.
    Das wären
    1. static Variablen (da auf die von überall zugegriffen werden kann)
    2. Events
    3. Member einer Klasse (also mit getter und setter)
    4. Funktionen (durch die Parameterübergabe)
    5. public Variablen


    Mehr fällt mir momentan nicht ein ^^

  • Du machst dir in einer Klasse ein Event. Dann erstellst du in einer anderen Klasse in der du ein Objekt von der Klasse mit dem Event hast einen Eventhandler. Wenn du jetzt das Event aufrufst, wird in der 2. Klasse dein Eventhandler aufgerufen und du kannst somit dort Eventgesteuert Daten verändern :)
    (Wenn das jetzt ein bisschen unklar formuliert sein sollte, sag bescheid dann poste ich noch ein bisschen Beispielcode :))

  • Vielen Dank für die Antworten :)


    Ich habe mich jetzt mal drangesetzt und schon ca. 1,5 Seiten geschrieben, wobei das bisher nur die Einleitung und die Erklärung von wichtigen Begriffen der OOP ist, da ich mit Kommunikation zwischen Klassen noch Probleme habe, bzw. mich mal richtig informieren muss, was haltet ihr bisher davon? Ist inhaltlich alles korrekt?


  • Ich habe jetzt diese Seite gefunden:


    http://www.java-forum.org/einf…kt-anderen.html#post85612


    Ich habe die ganzen Methoden als Kommunikation zwischen Klasen nun für meine Seminararbeit übernommen. Ist die Seite inhaltich korrekt? Und kennt eventuell noch jemand ähnliche Seiten wo weitere Methoden gennant werden? Bzw. gibt es überhaupt noch andere?


    Gruß