24. august 2004 - 15:57Der er
38 kommentarer og 1 løsning
java Composite pattern
Skal lave et program, hvor man kan oprette en opgave. Denne opgave kan have underopgaver, som høre til hovedopgaven. Til dette kan man bruge composite pattern. Hvilket vil sige at klassen kan have chrilds. Nogen der kan vi et eksempel, hvordan man anvender dette pattern, hvor opgaven skal have et navn, og person... disse data skal gemmes i en database.
Denne side indeholder artikler med forskellige perspektiver på Identity & Access Management i private og offentlige organisationer. Artiklerne behandler aktuelle IAM-emner og leveres af producenter, rådgivere og implementeringspartnere.
hmmm tror vi snakker forbi hinanden.... Normalt gør composite så man kan have en abstract klasse, f.eks. figur, hvorså man kan anvende composite til at nedarve til underklasser trekant, firkant.... det jeg vil er så jeg har hovedklassen Opgave, og der kan tilføjes(add) en Opgave af samme slags til hovedklassen? Ved ikke om du forstår hvad jeg mener?
Hvordan ville du skrive det hvis klassen Opgave.java er abstract og man så kan oprette en tysk og en fransk opgave. Men i den tyske opgave er der også fransk, så der skal også oprettes en fransk i den tyske. I main skal man kunne få udskrevet hvilke opgaver der er oprette og hvor mange.
abstract public class Question { private String name; private ArrayList childs; public Question(String name) { this.name = name; childs = new ArrayList(); } public void addChild(Question q) { childs.add(q); } public void print() { print(""); } public void print(String ind) { System.out.println(ind + name); for(int i = 0; i < childs.size(); i++) { Question q = (Question)childs.get(i); q.print(ind + " "); } } }
package opgave;
public class GermanQuestion extends Question { public GermanQuestion(String s) { super("German: " + s); } }
package opgave;
public class FrenchQuestion extends Question { public FrenchQuestion(String s) { super("French: " + s); } }
package opgave;
public class Test { public static void main(String[] args) { GermanQuestion ein = new GermanQuestion("ein"); FrenchQuestion une = new FrenchQuestion("une"); ein.addChild(une); GermanQuestion zwei = new GermanQuestion("zwei"); FrenchQuestion deux = new FrenchQuestion("deux"); une.addChild(zwei); une.addChild(deux); ein.print(); } }
Hvordan ville du lave det i JSP, så man tilføje en tyskopgave og derefter tilføjer en frask under tyskopgaven? Hvordan vil jsp siden se ud? Og hvordan vil man kunne hente opgaven, senere hen? Gemme det i en database?
Hvordan skal man gemme det i en database, så man igen kan hente den enkelte opgave med underopgave? og endda tilføje nye underopgaver...Har du nogle ideer?
parentid skal det hængtes til hovedid eller den chrild den kommer fra?
hovedopgaven har to opgaver... og den ene child har et child: hovedopgave Tysk - id = 1 parentid = 0 chrild(til hovedopgaven) Fransk - id = 11 parentid = 1 chrild(til hovedopgaven) Dansk - id = 12 parentid = 1 child(til Dansk)Engelsk - id = 121 parentid = 12
Hvordan ville du søge gennemdatabasen for at udskrive hele chrild Dansk
hvis du kan lave et eksempel med det, så ville det være storartet.... og du kan få 80 point for det...
<%! public static String process(int parentid) { try { ... } catch (Exception ex) { return "Beklager en uforudset fejl skete. Prøv igen og hvis det fortsætter kontakt of."; } } %>
"int id" og "int parentId" skal sættes fra en anden jsp siden... det er bare den side jeg ville have dig til at lave.... Ved ikke om du forstår hvad jeg mener??
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.