Hallo Leute, ich bin neu hier und bereite mich gerade auf eine Klausur vor. Ich hoffe ihr könnt mir helfen, da ich gerade vor lauter Bäumen den Wald nicht sehe:
Gegeben ist folgender Code:
Jetzt soll man von CommonObjectModifier eine neue Klasse namens MultiThreadedCommonObjectModifier ableiten. Diese ist zum Teil gegeben und soll nur noch ergänzt werden:
Meine Frage ist jetzt:
1. Die Klasse MultiThreadedCommonObjectModifier darf laut Eclipse nicht von CommonObjectModifier vererben (also "extends CommonObjectModifier" ist ungültig) und erbt jetzt nur von der Superklasse "Thread" (aufgrund der run()-Methode). Aber wieso? In der Aufgabenstellung steht ja, dass es von Com... erben soll.
2. Die Klasse CommonObjectModifier verlangt jetzt einen String. Wie übergebe ich diesen String dieser Klasse über MultiThre...?
3. Diese Klasse CommonOb... erzeugt eine neue Instanz von CommonObjectV1, auf die run()-Methode dann zugreift. Das ist dann ja der kritische Bereich. Hab ich das richtig verstanden?
Ist ein bisschen länger her, dass ich etwas programmiert habe, deswegen seid mir ein wenig nachsichtig.
Gegeben ist folgender Code:
Java:
public class CommonObjectV1 {
public int counter = 0;
public void printAndIncrement(String name){
for (int i = 0; i < 5; i++){
counter++;
System.out.printlin(name + ": " + counter);
}
}
}
public class CommonObjectModifier {
CommonObjectModifier(String name){
this.modifierName = name;
}
public String modifierName;
public static CommonObjectV1 common = new CommonObjectV1();
}
Jetzt soll man von CommonObjectModifier eine neue Klasse namens MultiThreadedCommonObjectModifier ableiten. Diese ist zum Teil gegeben und soll nur noch ergänzt werden:
Java:
public class MultiThreadedCommonObjectModifier{
public void run(){
common.printAndIncrement(modifierName);
}
}
Meine Frage ist jetzt:
1. Die Klasse MultiThreadedCommonObjectModifier darf laut Eclipse nicht von CommonObjectModifier vererben (also "extends CommonObjectModifier" ist ungültig) und erbt jetzt nur von der Superklasse "Thread" (aufgrund der run()-Methode). Aber wieso? In der Aufgabenstellung steht ja, dass es von Com... erben soll.
2. Die Klasse CommonObjectModifier verlangt jetzt einen String. Wie übergebe ich diesen String dieser Klasse über MultiThre...?
3. Diese Klasse CommonOb... erzeugt eine neue Instanz von CommonObjectV1, auf die run()-Methode dann zugreift. Das ist dann ja der kritische Bereich. Hab ich das richtig verstanden?
Ist ein bisschen länger her, dass ich etwas programmiert habe, deswegen seid mir ein wenig nachsichtig.