Methoden Wie können Klassen auf Klassenfremde Objekte zugreifen?

dt-schulte

Mitglied
Hallo alle Zusammen;

ist es möglich, das Klassen auf beliebige Objekte zugreifen können?

Ich versuche mal ein triviales Beispiel zu beschreiben:
Klasse 1 erstellt ein Objekt, z.B. eine Matrix M1
Klasse 2 enthält den Konstruktor, die set und get Methoden und gibt auch alles fein zurück an Klasse 1

Jetzt soll Klasse 3 mit der Matrix arbeiten, sie meinetwegen mit Werten füllen.

Wie kommt Klasse 3 jetzt an die Werte aus Klasse 1.

Muss ich dann in Klasse 1 nochmal get und set Methoden erstellen oder kann ich in Klasse 3 sagen M1.Klasse1.[j]; ( das erscheint mir aber irgendwie zu einfach :D)

Danke und Grüße
 

dt-schulte

Mitglied
Klassen 1 bis 3.

Die Klassen sollen unterschiedliche Methoden haben um
Dinge mit dem Objekt anzustellen.

Denkbar wäre eine Klasse 4 für die Matrizen Multiplikation, Klasse 5, Addition etc etc etc. ich will halt nur einmal das Objekt erstellen und dann damit weiterarbeiten
 

dt-schulte

Mitglied
Hier mal die Klasse, wie ich sie im Moment habe:
Java:
//Main Klasse:


import java.util.*;
import javagently.*;
import java.io.*;

public class Rechnen
{
  public static void main(String[] args)
  throws IOException
  {
    dimension test = new dimension();
    BufferedReader in = new BufferedReader ( new InputStreamReader(System.in));
  
    int i=0;
    int j=0;
  
    test.zahlen();
  
    System.out.println(i+ " " +j);
    System.out.println(test.getZeilen()+ " " +test.getSpalten());
  
    i = test.getZeilen();
    j = test.getSpalten();
  
    System.out.println(i+ " " +j);
  
  
  
  }
}

// Klasse, in der die Matrize erstellte wird:
import javagently.*;
import java.util.*;
import java.io.*;

public class dimension

{
  int a;
  int b;
  public void zahlen()

  throws IOException
  { 
      int i=0;
    
      matrize M1 = new matrize();
    
    BufferedReader in = new BufferedReader ( new InputStreamReader(System.in));
      System.out.print("Bitte geben Sie die Anzahl der Zeilen ein: ");
      this.a = javagently.Text.readInt(in);
      M1.setZeilen(a);
    
      System.out.print("Bitte geben Sie die Anzahl der Spalten ein: ");
      this.b = javagently.Text.readInt(in);
      M1.setSpalten (b);
    
      System.out.println("Die Matrize hat " +M1.getZeilen()+ " Zeilen und "+M1.getSpalten()+" Spalten");  
    }
  
    public int getZeilen()
    {
      return  a ;
    }
  
    public int getSpalten()
    {
      return b;
    }

  
  }

//Die Klasse, in der die Attribute des Objektes gesetzt werden.

public class matrize
{

  private int Zeilen;
  private int Spalten;
  private int Matrix[][] = new int [Zeilen][Spalten];

    void setZeilen(int z)
    {
      this.Zeilen = z;
    }
  
    void setSpalten (int s)
    {
      this.Spalten = s;
    }
  
    int getZeilen()
    {
      return this.Zeilen;
    }
  
    int getSpalten()
    {
      return this.Spalten;
    }
  
}

Mein Ziel ist es, das komplette Objekt M1 an irgendeine Klasse zu übergeben. Im Moment habe ich es in der Klasse "dimension" durch set und get gelöst. aber das erscheint mir recht umständlich.
 

Harry Kane

Top Contributor
1. Klassennamen in Java schreibt man in UpperCamelCase, Variablennamen werden klein geschrieben. Du hast es grad umgekehrt gemacht.
2. Deine dimension-Klasse erzeugt aktuell nur eine Instanz der Klasse matrize, gibt sie aber nirgendwo zurück. Die zahlen-Methode von dimension könnte das erzeugte matrize-Objekt z. B. zurückgeben. Dazu müsste der Rückgabewert von void auf matrize geändert werden. Die Variablen a und b von dimension beschreiben übrigens nicht den "Zustand" von dimension, sondern wie mir scheint eher den Zustand der matrize. Schmeiss die Variablen mal raus, und arbeite in der Rechnen-Klasse lieber direkt mit dem matrize-Objekt als mit dem dimension-Objekt.
3. Dein matrize-Objekt ist eigentlich nur ein Wrapper um ein int[][]. matrize hat zwar setter für Zeilen und Spalten, diese beeinflussen aber nicht die Größe der Matrix. So wie es aussieht, hat deine Matrix 0 Zielen und 0 Spalten, und es gibt keine Möglichkeit das zu ändern.
 
Zuletzt bearbeitet:

dt-schulte

Mitglied
:p ok, ich glaub, da muss ich mal in Ruhe dran.. das Übersteigt gerade meine Fähigkeiten, um das mal "eben" zu machen :p

Aber, ein kleines Erfolgserlebnis gabs... Anmerkung 1 konnt ich ganz alleine lösen :D
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Wie können Klassen nicht-materialisierte Attribute haben, die nur über get/ set-Mehoden simuliert sind? Java Basics - Anfänger-Themen 6
M Warum können innere Klassen keine static-members haben? Java Basics - Anfänger-Themen 2
frau-u Können Interfaces von Klassen erben? Java Basics - Anfänger-Themen 3
J 2 listen vergleichen, die auch null Elemente haben können ! Java Basics - Anfänger-Themen 9
frager2345 Singleton-Muster Java ->Nur eine Instanz einer Klasse erzeugen können Java Basics - Anfänger-Themen 45
C Methoden können nicht auf Instanzvariable der Klasse zugreifen Java Basics - Anfänger-Themen 3
B Warum können super() und this() nicht gemeinsam in einem Konstruktor verwendet werden? Java Basics - Anfänger-Themen 7
D Können if Anweisungen aufeinander aufbauen? Java Basics - Anfänger-Themen 1
Elaurin Erste Schritte effektiv lernen mit Java umgehen zu können? Java Basics - Anfänger-Themen 5
N Sicherheitsnummer erstellen und verändern können Java Basics - Anfänger-Themen 1
J Hinzufügen eines Objekts in eine Liste, um später dann nochmal auf das Objekt zugreifen zu können Java Basics - Anfänger-Themen 8
JokerBlacky Klassen Klasse Queue Klasse mit Attributen anhängen und auslesen können Java Basics - Anfänger-Themen 4
R warum kann System.out.println(..) etwas, was Swing-Elemente Nicht können ? Java Basics - Anfänger-Themen 11
H Methoden können nicht verwendet werden Java Basics - Anfänger-Themen 10
R Eine Arrayliste in XML abspeichern und laden können Java Basics - Anfänger-Themen 7
W Wie kann man diesen Code in einen Code umwandeln, der folgendes können sollte? Java Basics - Anfänger-Themen 1
S Methoden Linked List Methoden können nicht aufgerufen werden Java Basics - Anfänger-Themen 1
J Interface Bubblesort soll Arrays beliebiger Referenztypen sortieren können. Java Basics - Anfänger-Themen 5
B Anwender soll mathematische Funktion eingeben können, Einfachster Fnktionsplotter Java Basics - Anfänger-Themen 4
J Können mehere Threads parallel eine Datei lesen? Java Basics - Anfänger-Themen 4
X Muss man Java können um Jython nutzen zu können? Java Basics - Anfänger-Themen 14
K mehrer applets sollen sich gegenseitig verständigen können Java Basics - Anfänger-Themen 3
F Können Klasse auch Werte liefern? Java Basics - Anfänger-Themen 3
2 Alle Werte die mit n Würfeln mit m Seiten geworfen werden können in ein n Dimensionales Array Java Basics - Anfänger-Themen 15
E Statische Member können nicht vererbt werden? Java Basics - Anfänger-Themen 10
B OOP Objekt klonen (Grundzustand), um in Editor "Abbrechen" zu können Java Basics - Anfänger-Themen 4
K Txt statt in TextArea in JTable einlesen und bearbeiten können Java Basics - Anfänger-Themen 4
G ein programm nicht mehrmals starten können Java Basics - Anfänger-Themen 6
R Klassenattribut nur 1 mal setzen können Java Basics - Anfänger-Themen 7
T können überschriebene methoden andere zugruffsrechte besitze Java Basics - Anfänger-Themen 2
R Buttons können sich bewegen und JButtons nicht? Java Basics - Anfänger-Themen 5
J Methodenaufrufe abstrakte Klassen, Interfaces Java Basics - Anfänger-Themen 17
M Abstrakte Klassen - Notation Java Basics - Anfänger-Themen 9
Detlef Bosau Nachladen von Klassen zur Laufzeit Java Basics - Anfänger-Themen 24
M Anonyme Klassen - Warum wird in der Konsole nichts ausgegeben? Java Basics - Anfänger-Themen 1
MoxMorris Einige Methoden aus verschiedenen Klassen nacheinander auszuführen läuft seltsam Java Basics - Anfänger-Themen 2
I Klassen von einem package laden, Statisches Feld auslesen und Objekt erstellen Java Basics - Anfänger-Themen 8
I 2 verschiedene Klassen mit gleichen Property vergleichen Java Basics - Anfänger-Themen 13
C Array von Klassen Java Basics - Anfänger-Themen 2
monsterherz 2 Klassen daher Probs mit dem Dateinamen Java Basics - Anfänger-Themen 9
C Kommunikation zwischen 2 Klassen Java Basics - Anfänger-Themen 9
I JPA Query für mehrere Klassen Java Basics - Anfänger-Themen 3
I @Entity Klassen, Service Beans etc. aus einem Share Projekt beziehen? Java Basics - Anfänger-Themen 26
S IntelliJ geht alle Klassen durch Java Basics - Anfänger-Themen 9
I Gleiche Klassen und Methoden in unterschiedlichen Projekten nutzen Java Basics - Anfänger-Themen 2
T variablen klassen übergreifend Java Basics - Anfänger-Themen 12
N Klassen Methoden anderer Klassen aufrufen Java Basics - Anfänger-Themen 4
D Klassen Klassen Kommunikation Java Basics - Anfänger-Themen 12
Encera Auf Objekte aus anderer Klassen zugreifen Java Basics - Anfänger-Themen 20
berserkerdq2 Zwei Klassen Erben von der Klasse A, die eine Klasse kann ich an Methoden übergeben, die als Parameter A haben, die andere nicht? Java Basics - Anfänger-Themen 3
M Andere Methoden in anderen Klassen aufrufen Java Basics - Anfänger-Themen 11
L Methoden in anderen Klassen nutzen Java Basics - Anfänger-Themen 6
D Klassen und Vererbung Java Basics - Anfänger-Themen 2
L Best Practice Annotierte Klassen im Classpath herausfinden Java Basics - Anfänger-Themen 1
P Mit dem Scanner Klassen aufrufen Java Basics - Anfänger-Themen 3
O Klassen Zusammenspiel zwischen 2 Klassen Java Basics - Anfänger-Themen 1
K Zweite Ausgabe von vererbten Klassen Java Basics - Anfänger-Themen 3
Speedrunner klassen aufrufen Java Basics - Anfänger-Themen 41
M Log4J (v2) nachträglich in allen Klassen hinzufügen Java Basics - Anfänger-Themen 9
D importieren eigener Klassen Java Basics - Anfänger-Themen 12
W Wo ist der Wurm in meinem Grundverständnis von Klassen? Java Basics - Anfänger-Themen 22
S Daten/Klassen/Packages richtig updaten!? Java Basics - Anfänger-Themen 2
alice98 Erste Schritte Liste erstellen ohne vorgefertigte Klassen Java Basics - Anfänger-Themen 1
C Archiv für eigene Klassen Java Basics - Anfänger-Themen 9
S Objekte von zwei klassen in zwei verschiedene Textdateien schreiben Java Basics - Anfänger-Themen 5
elsaaaaaa Wochentag als String ausgeben mit JDK Klassen Java Basics - Anfänger-Themen 6
CptK Generics: Klassen die Interface implementieren, aber selbst nicht das Interface sind Java Basics - Anfänger-Themen 8
Z Mehtode bei Start des Programms ausführen (Klassen übergreifend) Java Basics - Anfänger-Themen 12
J Allgemeines Problem mit Klassen Java Basics - Anfänger-Themen 5
TimoN11 Java Klassen Global einbinden Java Basics - Anfänger-Themen 1
B Inventar als einzelne Klassen anlegen? Java Basics - Anfänger-Themen 12
G Java Klassen und Instanzmethoden Java Basics - Anfänger-Themen 15
C Kommunikation zwischen 2 Klassen Java Basics - Anfänger-Themen 3
T Vererbung Verschiedene Attribute für vererbte Klassen Java Basics - Anfänger-Themen 4
S Klassen instanziieren und verwenden von Getter und Setter Java Basics - Anfänger-Themen 4
B Variablen Variablen übertragen ohne Klassen Java Basics - Anfänger-Themen 5
C Fernseher-Aufgabe (Methoden, Klassen und Objekte) Java Basics - Anfänger-Themen 63
H Methoden in großen Klassen gruppieren oder auslagern? Java Basics - Anfänger-Themen 10
G Abstrakte Klassen Java Basics - Anfänger-Themen 11
Y Klassen Klassen und Objekte Java Basics - Anfänger-Themen 3
Y Klassen Klassen und Objekte mit set und get Java Basics - Anfänger-Themen 0
A Generischen Klassen Java Basics - Anfänger-Themen 8
A Vererbung Klassen im Bezug auf Auto´s Java Basics - Anfänger-Themen 18
A Generische Klassen/Interface Java Basics - Anfänger-Themen 1
A Klassen Vererbung und zusätzliche Unterklassen Java Basics - Anfänger-Themen 23
J 2 klassen benutzen Java Basics - Anfänger-Themen 5
A Klassen und methoden Java Basics - Anfänger-Themen 15
A Bankweverwaltung mit Klassen und Methoden Java Basics - Anfänger-Themen 14
J Klassen Problem Java Basics - Anfänger-Themen 8
I Java Klassen "Graphics" und "MouseEvent" kombinieren Java Basics - Anfänger-Themen 7
I Klassen als Datentyp nutzen? Java Basics - Anfänger-Themen 11
M Aufsplitten von Methoden in andere Klassen Java Basics - Anfänger-Themen 2
M (Sehr großes Problem) Listen als static in anderen Klassen verwendet Java Basics - Anfänger-Themen 12
C Klassen objektorientiert aufteilen Java Basics - Anfänger-Themen 6
hello_autumn Klassen Anzahl sowie die Anzahl der Junit Tests ermitteln? Java Basics - Anfänger-Themen 8
A Auf Eigenschaften von Objekten anderer Klassen zugreifen Java Basics - Anfänger-Themen 5
F Klassen und Pakete Projektübergreifend (Eclipse) Java Basics - Anfänger-Themen 6
V_Fynn03 Klassen Überweisungen tätigen und einzahlen mit 2 Klassen Java Basics - Anfänger-Themen 1
W Abarbeitungsreihenfolge Anonyme Klassen Java Basics - Anfänger-Themen 2
V_Fynn03 Bruchrechner programmieren (2 Klassen) Java Basics - Anfänger-Themen 9

Ähnliche Java Themen

Neue Themen


Oben