Hi,
ich habe folgendes kleines Problem
Ich habe 2 config Objects von denen eins vom anderen erbt.
und
diese ergeben sich aus der geschichtlichen Entwicklung des codes.
Nun ein Beispiel wie es genutzt werden kann:
Da ich ja bei getModiValue die 2 mit reinnehme erwarte ich natürlich das ich "value two_modi" bekomme. Leider bekomme ich "value one_modi".
Dies kommt daher das bei #1 halt nicht die methode aus CxConfig sondern aus OConfig genommen wird. Daher wird von der ursprünglich mitgegebenen 2 zwei mal -1 gerechnet. Eigentlich darf es ja nur einmal -1 sein.
Nun endlich due Frage.
Wie kann ich bei #1 die methode getValue(key); dazu bringen nicht erst in oConfig zu springen sondern in CxConfig zu bleiben. Habe es schon mit this.getValue(key); probiert aber das klappt auch nicht.
(In getValue(key); ) passiert eigentlich noch ein bischen mehr als nur den Wert zu geben weshalb ich schon die methode benutzen möchte)
Hoffe jemand kennt eine super.Loesung
ich habe folgendes kleines Problem
Ich habe 2 config Objects von denen eins vom anderen erbt.
Java:
public class CxConfig {
HashMap<Integer, String> myHashMap = new HashMap<Integer, String>();
public void addValue(Integer key, String value){
myHashMap.put(key, value);
}
public String getValue(Integer key){
return myHashMap.get(key);
}
public String getModiValue(Integer key){
String modiValue = getValue(key); //#1
return modiValue + "_modi";
}
}
und
Java:
public class OConfig extends CxConfig{
public void addValue(Integer key, String value){
super.addValue((key - 1), value);
}
public String getValue(Integer key){
return super.getValue((key - 1));
}
public String getModiValue(Integer key){
return super.getModiValue((key - 1));
}
}
diese ergeben sich aus der geschichtlichen Entwicklung des codes.
Nun ein Beispiel wie es genutzt werden kann:
Java:
public static void main(String[] args) {
OConfig oc = new OConfig();
oc.addValue(1, "value one");
oc.addValue(2, "value two");
String value = oc.getModiValue(2);
System.out.println(value);
}
Da ich ja bei getModiValue die 2 mit reinnehme erwarte ich natürlich das ich "value two_modi" bekomme. Leider bekomme ich "value one_modi".
Dies kommt daher das bei #1 halt nicht die methode aus CxConfig sondern aus OConfig genommen wird. Daher wird von der ursprünglich mitgegebenen 2 zwei mal -1 gerechnet. Eigentlich darf es ja nur einmal -1 sein.
Nun endlich due Frage.
Wie kann ich bei #1 die methode getValue(key); dazu bringen nicht erst in oConfig zu springen sondern in CxConfig zu bleiben. Habe es schon mit this.getValue(key); probiert aber das klappt auch nicht.
(In getValue(key); ) passiert eigentlich noch ein bischen mehr als nur den Wert zu geben weshalb ich schon die methode benutzen möchte)
Hoffe jemand kennt eine super.Loesung
Zuletzt bearbeitet von einem Moderator: