OOP Zugriff auf Objekte A in Klasse A aus Objekt B in Klasse B

Discordia

Mitglied
Hallo liebe Forengemeinde,
ich bin jetzt relativ frisch dabei, hab im Gymnasium 4 Jahre Info gehabt und Java programmiert. Jetzt bin ich in der Uni und komme auch ziemlich gut klar, habe aber nebenbei ein bisschen angefangen an einem eigenen Projekt zu arbeiten. Ein kleines einfaches Tetris. Dort bin ich nun auf einen Fehler gestoßen den ich unten versucht habe nachzubauen.
Meine Frage:
Ist es möglich aus einem Objekt heraus, auf Objekte zuzugreifen, die in anderen Klassen erzeugt wurden?

Dies ist meine Klasse A:

Java:
public class KlasseA {
  private int a;
  
  public KlasseA(int a) {
    this.a = a;
  }
  
  public void setA(int x) {
    this.a = x;
  }
  
  public int getA() {
    return this.a;
  }
       
}

Dies ist meine Klasse B:

Java:
public class KlasseB {
  private int b;
  
  public KlasseB() {
    this.b = neu.getA();    //Warum geht das so nicht? error: cannot find symbol
  }
  
  public void setA(int x) {
    this.b = x;
  }
  
  public int getA() {
    return this.b;
  }
  
}

Dies ist meine Test Klasse mit main Methode:

Java:
public class test {
  public static void main(String[] args) {
    KlasseA neu = new KlasseA(5);
    KlasseB neu2 = new KlasseB();
  }
}

Ich würde mich über Hilfe sehr freuen, da ich dort grade sehr hänge. Wenn jemand auch ein Dokument kennt, inwelchem ich mir speziell zu diesem Themenbereich noch was anlesen kann, wäre das schön. Ich habe versucht was zu dem Thema zu finden, habe auch einige Beiträge gefunden bin aber leider nicht draus schlau geworden.

Ich danke schonmal im voraus für etwaige Hilfe :)
 

Volvagia

Top Contributor
Die Variable ist nur in der Main sichtbar.
Du könntest entweder Klasse B eine Instanz von Klasse A übergeben, falls es Sinn macht.
Alternativ könntest du einen Vermittler dazwischen hängen.
 

Discordia

Mitglied
So ich habe hier eine Lösung. Wäre Sie so wie du Sie angedacht hattest? Wie könnte man einen Vermittler den realisieren?

KlasseA:
Java:
public class KlasseA {
  private int a;
  
  public KlasseA(int a) {
    this.a = a;
  }
  
  public void setA(int x) {
    this.a = x;
  }
  
  public int getA() {
    return this.a;
  }      
}

KlasseB:
Java:
public class KlasseB {
  private int b;
  private KlasseA g;
  
  public KlasseB(KlasseA g) {
    this.g = g;
    this.b = g.getA();
  }
  
  public void setB(int x) {
    this.b = x;
  }
  
  public int getB() {
    return this.b;
  } 
}

Test Klasse mit main():
Java:
public class test {
  public static void main(String[] args) {
    KlasseA neu = new KlasseA(5);
    KlasseB neu2 = new KlasseB(neu);
    
    System.out.println("Hier a aus neu: " + neu.getA());
    System.out.println("Hier a aus neu2(über neu): " + neu2.getB()); 
  }
}
 

Volvagia

Top Contributor
Grob so:

Java:
public class Tester {
	public static void main(String[] args) {
		final KlasseA neu = new KlasseA(5);
		KlasseB neu2 = new KlasseB(new ABVermittler() {
			public KlasseA getA() {
				return(neu);
			}
		});

		System.out.println("Hier a aus neu: " + neu.getA());
		System.out.println("Hier a aus neu2(über neu): " + neu2.getB()); 
	}
	private interface ABVermittler {
		public KlasseA getA();
	}
}

So musst du, wenn sich A verändert nur noch den Vermittler aber nicht die Klassen, die ihn benutzen anpassen.

Allerdings würde ich die Methoden eher als "Befehler" designen. Zwar spricht nichts gegen eine Datenklasse (ist für Datenspeicherung wohl auch das Beste), allerdings sind die Klassen durch Getter oft von außen steuerbar. Dadurch verlierst du Methoden für DRY, Strukturänderungen und Kontrolle.
Hast du z. B. einen getter für eine Position auf Point die nur Positionsangaben von 0 - Integer.MAX_VALUE erlaubt könntest du das per neu.getLocation().x = -42; umgehen. Andererseits könnte man das in dem Fall mit getX durch einen primitiven Type verhindern. Mir fällt gerade kein besseres Beispiel ein.
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
P Zugriff auf Objekte einer anderen Klasse Java Basics - Anfänger-Themen 1
Encera Zugriff auf Map-Objekte Java Basics - Anfänger-Themen 3
F Klassen Zugriff auf verschachtelte Objekte Java Basics - Anfänger-Themen 11
A OOP Zugriff auf Objekte von außen Java Basics - Anfänger-Themen 8
M Zugriff auf Objekte aus doppelten Array Java Basics - Anfänger-Themen 16
W zugriff auf Objekte Java Basics - Anfänger-Themen 11
F Zugriff auf Objekte über ActionListener Java Basics - Anfänger-Themen 10
E Zugriff auf Objekte in einer ArrayList Java Basics - Anfänger-Themen 3
S Zugriff auf andere methodenvariablen / Objekte Java Basics - Anfänger-Themen 4
N Zugriff auf Objekte von fremden Klassen aus? Java Basics - Anfänger-Themen 4
I In unterschiedlichen Applikation Zugriff auf eine gemeinsame Anwendung? Java Basics - Anfänger-Themen 8
C Zugriff auf Methode Java Basics - Anfänger-Themen 2
I Applikationsserver (WildFly) - Zugriff auf Ressourcen.. Problem mit Pfade Java Basics - Anfänger-Themen 10
J Zugriff auf eine 2. Klasse die per UI-Designer erstellt wurde Java Basics - Anfänger-Themen 1
T Zugriff auf Control anderer Klasse Java Basics - Anfänger-Themen 5
W Unterschiede bei Zugriff auf Objekt und Klassenvariablen über einen Getter? Java Basics - Anfänger-Themen 2
EchtKeineAhnungManchmal hallo habe ein Problem mit einer Datei -> (Zugriff verweigert) Java Basics - Anfänger-Themen 4
R TreeSet Zugriff aus anderer Klasse Java Basics - Anfänger-Themen 8
C Kein Zugriff auf Klassenmethoden in Main Methode Java Basics - Anfänger-Themen 23
H Zugriff verweigert Java Basics - Anfänger-Themen 5
moiss002 Umgebungsvariable Kein Zugriff auf ein Array Java Basics - Anfänger-Themen 7
B Probleme mit Zugriff auf Dateisystem Windows 10 ( jFileChooser) Java Basics - Anfänger-Themen 17
B Zugriffsmodifier, Zugriff außerhalb Package Java Basics - Anfänger-Themen 5
C Zugriff auf Attribut von Oberklasse Java Basics - Anfänger-Themen 8
P Klasse hat keinen Zugriff auf getter/setter-Methoden eines Objektes Java Basics - Anfänger-Themen 9
B Methoden Methoden haben kein Zugriff auf variablen Java Basics - Anfänger-Themen 4
M Gettter/Setter Methoden Klassenfelder kapselung und zugriff? Java Basics - Anfänger-Themen 1
S Zugriff auf protected Fields = guter Programmierstil? Java Basics - Anfänger-Themen 11
M Pfadprobleme - Zugriff auf einen Ordner im Workspace Java Basics - Anfänger-Themen 17
ruutaiokwu Bluetooth-Zugriff, braucht es dazu plattformabhängige Libraries oder kann das Java mittlerweile selbst? Java Basics - Anfänger-Themen 10
R Zugriff auf den Index eines Arrays, welches ein Objekt ist. Java Basics - Anfänger-Themen 4
M Zugriff auf eine ArrayList in einer anderen Klasse Java Basics - Anfänger-Themen 4
P Zugriff auf Variablen anderer Klassen in Greenfoot Java Basics - Anfänger-Themen 1
L Methoden Zugriff <identifier> expected Java Basics - Anfänger-Themen 13
T Java - Zugriff nur mit CLASSPATH ? Java Basics - Anfänger-Themen 7
B Klassen Zugriff auf ein Objekt einer Klasse aus einer Methode heraus Java Basics - Anfänger-Themen 4
L Zugriff auf Attribute eins Objekts über ActionListener Java Basics - Anfänger-Themen 4
D Zugriff auf Methode einer anderen Klasse Java Basics - Anfänger-Themen 5
S Zugriff auf Objekt Java Basics - Anfänger-Themen 5
A Klassen Zugriff auf Instanzen Java Basics - Anfänger-Themen 2
N ArrayList in eigener Klasse erzeugen mit Zugriff Java Basics - Anfänger-Themen 7
J Zugriff auf Variable in anderem Programm Java Basics - Anfänger-Themen 5
Q Zugriff auf Attribute Java Basics - Anfänger-Themen 3
J Klassen Zugriff auf ein "String Array" Java Basics - Anfänger-Themen 6
H Datentypen ArrayList in ArrayList: Zugriff Java Basics - Anfänger-Themen 6
J get methoden zugriff und objekt erzeugung Java Basics - Anfänger-Themen 30
J Datenbank Zugriff Java Basics - Anfänger-Themen 24
T Zugriff auf JCheckBox Java Basics - Anfänger-Themen 8
E Netzlaufwerk Zugriff schlägt fehl Java Basics - Anfänger-Themen 11
C Group, Actor und Instanz-Zugriff, LibGDX Java Basics - Anfänger-Themen 4
S Zugriff auf Attribut einer unbekannten Klasse erhalten Java Basics - Anfänger-Themen 6
R Methoden Methode der GUI-Klasse Zugriff auf Methoden der Hauptklasse Java Basics - Anfänger-Themen 9
S Vererbung Zugriff auf die Basisklasse einer "zweiten" Erweiterungsklasse Java Basics - Anfänger-Themen 2
Z Threads Threads - Zugriff auf Ressourcen ohne(Lock, Synchronized) Java Basics - Anfänger-Themen 2
S Vererbung Zugriff auf Methode funktioniert nicht (static/non-static) Java Basics - Anfänger-Themen 3
J Sichtbarkeit und Zugriff Java Basics - Anfänger-Themen 9
G Wieviel kostet der Zugriff auf Objektattribute im Vergleich zur Erstellung von vars in Methode? Java Basics - Anfänger-Themen 11
L Zugriff auf zwei Java-Quellcodes Java Basics - Anfänger-Themen 3
M Kapselung Datenkapselung Sinn direkter Zugriff? Java Basics - Anfänger-Themen 1
G Methoden Zugriff auf Methode.. aus einer anderen Klasse Java Basics - Anfänger-Themen 6
J JDialog Zugriff auf parent JDialog Java Basics - Anfänger-Themen 5
K Collections Zugriff auf ein bestimmtes Element in der Collection Java Basics - Anfänger-Themen 1
K ArrayList in Konstruktor - wie späterer Zugriff Java Basics - Anfänger-Themen 2
F Zugriff auf Objekt einer anderen Klasse Java Basics - Anfänger-Themen 7
P Zugriff auf Felder in ArrayList Objekten Java Basics - Anfänger-Themen 2
J Erste Schritte Zugriff auf Eigenschaft Java Basics - Anfänger-Themen 2
M MVC - Problem mit Zugriff auf Objekt Java Basics - Anfänger-Themen 4
D Zugriff auf von einer anderen Klasse erstellten Objekten Java Basics - Anfänger-Themen 5
C 5 - Zugriff verweigert Java Basics - Anfänger-Themen 1
K Zugriff auf Variabeln Wert einer Instanz Java Basics - Anfänger-Themen 4
A Methoden Zugriff auf eingelesene Variablen in der main Methode (ohne Änderung der Parameterliste) Java Basics - Anfänger-Themen 4
Z Methoden Zugriff mit Klasse 3 auf Methode von Klasse 2 welche in Klasse 1 erzeugt wird Java Basics - Anfänger-Themen 6
Z Zugriff auf andere Methoden Java Basics - Anfänger-Themen 12
Z Zugriff auf Pakete Java Basics - Anfänger-Themen 5
G Zugriff zwischen Klassen Java Basics - Anfänger-Themen 15
N Problem mit Swing Textfeld und Zugriff aus anderer Klasse Java Basics - Anfänger-Themen 6
H Kein Zugriff auf das Element einer JList möglich: Fehlermeldung Java Basics - Anfänger-Themen 2
W OOP Zugriff auf mit Objekt erstellte Struktur Java Basics - Anfänger-Themen 7
F Klassen Zugriff auf Fenster aus versch. Klassen Java Basics - Anfänger-Themen 5
M Variablen Zugriff von außerhalb eines Blockes auf eine Variable innerhalb eines Blockes Java Basics - Anfänger-Themen 2
U Methoden Zugriff auf Array von weiterer Methode einer Klasse, Rückgabewert Problem Java Basics - Anfänger-Themen 5
B Klassen Zugriff auf Daten der Child-Klasse Java Basics - Anfänger-Themen 9
W Typisierte ArrayList und der Zugriff auf den Typ Java Basics - Anfänger-Themen 5
M Zugriff auf Klasse Java Basics - Anfänger-Themen 2
K Zugriff auf C: Java Basics - Anfänger-Themen 5
S Das richtige Format für den SOAP Zugriff Java Basics - Anfänger-Themen 0
S Klassen Zugriff auf Attribute einer zweiten Klasse, welche durch dritte gesettet wurden? Java Basics - Anfänger-Themen 2
N Zugriff bei Package Struktur Java Basics - Anfänger-Themen 6
M Enum: Zugriff auf Konstanten Java Basics - Anfänger-Themen 7
V Zugriff auf jProgressbar Java Basics - Anfänger-Themen 10
B Zugriff auf csv-Datei per hashmap Java Basics - Anfänger-Themen 5
G Spalte in JTable unsichtbar machen, Zugriff auf Daten ermöglichen Java Basics - Anfänger-Themen 2
T ZUgriff auf 'Werte' Java Basics - Anfänger-Themen 3
J Vererbung Zugriff auf private Variable Java Basics - Anfänger-Themen 10
C Klassen Zugriff auf Objekt anderer Klasse Java Basics - Anfänger-Themen 8
B Methoden Zugriff auf Variable ermöglichen Java Basics - Anfänger-Themen 3
M Zugriff auf Arraylist Java Basics - Anfänger-Themen 7
D Kein Zugriff auf JFrame Java Basics - Anfänger-Themen 2
K Zugriff einer Klasse auf eine andere Andere -> bad operand for binary operator Java Basics - Anfänger-Themen 5
B Erste Schritte Array-Zugriff Java Basics - Anfänger-Themen 10

Ähnliche Java Themen

Neue Themen


Oben