0 Daumen
637 Aufrufe

Sehr geehrte Community,

public interface IVariableStorage<T> {

/** Sets the variable */
public void set(T var);
/** Returns the variable */
public T get();

}


ich möchte gerne verstehen, was der untere Code genau macht :)
Dient T als Platzhalter für einen Datentyp aber was genau machen die einzelen Funktionen?


void set ( T var ) {
 this. var = var; }

Setter können Attribute verändern aber was genau kann hier verändert werden?

T get () {

return var; }


Mit Getter erhält man das Attribut. Heißt es in diesem Falle, dass man eifnach das veränderte Attrbut aus der Funktion set ( T var ) { this. var = var } erhält?

public class VariableStorage<T> implements IVariableStorage<T> {

private T var;

@Override
public void set(T var) {

this.var = var;
}

@Override
public T get() {

return var;
}

}

Bitte und Dankeschön

Schönes Wochenende !
Avatar von

1 Antwort

+3 Daumen
 
Beste Antwort
Dient T als Platzhalter für einen Datentyp

Ja. Das kennst Du vielleicht von ArrayLists

ArrayList<String> list = new ArrayList<>();

Dort, wo String steht, könnte ein beliebiger komplexer Datentyp (kein primitiver wie int, double oder char) stehen.

void set ( T var ) {
this. var = var; }

Hierbei handelt es sich um einen Setter (Akzessor-Methode). Die Variable var wird der Objektvariable var zugewiesen. Dass es sich um eine Objektvariable handelt, wird durch das this signalisiert:

// this.var ist die Objektvariable, var auf der rechten Seite des "=" ist das, was durch (T var) übergeben wird.
this.var = var;

Setter können Attribute verändern aber was genau kann hier verändert werden?

Objektvariablen.

Mit Getter erhält man das Attribut. Heißt es in diesem Falle, dass man eifnach das veränderte Attrbut aus der Funktion set ( T var ) { this. var = var } erhält?

Der Setter verändert das Attribut/die Objektvariable var in der Klasse VariableStorage. Mit dem Getter erhältst Du die Objektvariable var der Klasse VariableStorage. Mich wundert es ein wenig, dass ihr mit Generics arbeitet, wenn noch Verständnisprobleme bei Gettern und Settern existieren.

Avatar von

Andre, echt schönen Dank, dass du schnelle Antwort lieferst, super :) Vielen Dank!

Gerne doch :-) Hat es Dir denn auch geholfen?

Ja sehr, danke dir :)

Ein anderes Problem?

Stell deine Frage

Willkommen bei der Stacklounge! Stell deine Frage einfach und kostenlos

x
Made by a lovely community