diff --git a/Programmierung2/src/DesignPatterns/Erzeugungsmuster_CreationalPatterns/BuilderPatter/Builder-Pattern.pdf b/Programmierung2/src/DesignPatterns/Erzeugungsmuster_CreationalPatterns/BuilderPatter/Builder-Pattern.pdf new file mode 100644 index 0000000..29d5379 Binary files /dev/null and b/Programmierung2/src/DesignPatterns/Erzeugungsmuster_CreationalPatterns/BuilderPatter/Builder-Pattern.pdf differ diff --git a/Programmierung2/src/DesignPatterns/Erzeugungsmuster_CreationalPatterns/BuilderPatter/BuilderPattern.java b/Programmierung2/src/DesignPatterns/Erzeugungsmuster_CreationalPatterns/BuilderPatter/BuilderPattern.java new file mode 100644 index 0000000..78eb079 --- /dev/null +++ b/Programmierung2/src/DesignPatterns/Erzeugungsmuster_CreationalPatterns/BuilderPatter/BuilderPattern.java @@ -0,0 +1,77 @@ +package DesignPatterns.Erzeugungsmuster_CreationalPatterns.BuilderPatter; + +public class BuilderPattern { + // Private Felder + private String teig; + private String soße; + private String käse; + private String topping; + + // Private Konstruktor, nur der Builder kann diesen aufrufen + private BuilderPattern(Builder builder) { + this.teig = builder.teig; + this.soße = builder.soße; + this.käse = builder.käse; + this.topping = builder.topping; + } + + // Statische innere Klasse Builder + public static class Builder { + // Dieselben Felder wie in der äußeren Klasse + private String teig; + private String soße; + private String käse; + private String topping; + + // Methoden für das Setzen der Felder, die den Builder zurückgeben + public Builder teig(String teig) { + this.teig = teig; + return this; + } + + public Builder soße(String soße) { + this.soße = soße; + return this; + } + + public Builder käse(String käse) { + this.käse = käse; + return this; + } + + public Builder topping(String topping) { + this.topping = topping; + return this; + } + + // Die build-Methode erstellt das Pizza-Objekt + public BuilderPattern build() { + return new BuilderPattern(this); + } + } + + // Methode, um die Pizza anzuzeigen + public void anzeigen() { + System.out.println("Pizza mit " + teig + " Teig, " + soße + " Soße, " + + käse + " Käse und " + (topping != null ? topping : "ohne") + " Topping."); + } + + public static void main(String[] args) { + // Erstellen einer Pizza mit allen Zutaten + BuilderPattern pizza1 = new BuilderPattern.Builder() + .teig("Dünn") + .soße("Tomaten") + .käse("Mozzarella") + .topping("Salami") + .build(); + + // Erstellen einer Pizza ohne Topping + BuilderPattern pizza2 = new BuilderPattern.Builder() + .teig("Dick") + .soße("Tomaten") + .build(); + + pizza1.anzeigen(); // Ausgabe: Pizza mit Dünn Teig, Tomaten Soße, Mozzarella Käse und Salami Topping. + pizza2.anzeigen(); // Ausgabe: Pizza mit Dick Teig, Tomaten Soße, Cheddar Käse und ohne Topping. + } +} diff --git a/Programmierung2/src/DesignPatterns/Erzeugungsmuster_CreationalPatterns/Factory/Fabrikmethode.pdf b/Programmierung2/src/DesignPatterns/Erzeugungsmuster_CreationalPatterns/Factory/Fabrikmethode.pdf deleted file mode 100644 index d65b187..0000000 Binary files a/Programmierung2/src/DesignPatterns/Erzeugungsmuster_CreationalPatterns/Factory/Fabrikmethode.pdf and /dev/null differ diff --git a/Programmierung2/src/DesignPatterns/Erzeugungsmuster_CreationalPatterns/Factory/Factory Method.pdf b/Programmierung2/src/DesignPatterns/Erzeugungsmuster_CreationalPatterns/Factory/Factory Method.pdf new file mode 100644 index 0000000..4423e41 Binary files /dev/null and b/Programmierung2/src/DesignPatterns/Erzeugungsmuster_CreationalPatterns/Factory/Factory Method.pdf differ diff --git a/Programmierung2/src/MyGraphen/Graph.java b/Programmierung2/src/MyGraphen/Graph.java index 70b810d..1d64d48 100644 --- a/Programmierung2/src/MyGraphen/Graph.java +++ b/Programmierung2/src/MyGraphen/Graph.java @@ -13,6 +13,15 @@ public class Graph { public void add_Knoten(Knoten knote) { knoten.add(knote); } + + public ArrayList getKnoten() { + return knoten; + } + public void zeige_Alle_Knoten() { + System.out.println("Alle Knoten, die auf dem Graph sind: "); + for (Knoten k : knoten) + System.out.println("Knote: " + k.getValue()); + } } diff --git a/Programmierung2/src/MyGraphen/Kanten.java b/Programmierung2/src/MyGraphen/Kanten.java index e1fab9d..79c3c8c 100644 --- a/Programmierung2/src/MyGraphen/Kanten.java +++ b/Programmierung2/src/MyGraphen/Kanten.java @@ -17,4 +17,7 @@ public class Kanten { Knoten partner = (knote == knote1)? knote2 : knote1; return partner; } + + + } diff --git a/Programmierung2/src/MyGraphen/Knoten.java b/Programmierung2/src/MyGraphen/Knoten.java index 073584d..8e86f51 100644 --- a/Programmierung2/src/MyGraphen/Knoten.java +++ b/Programmierung2/src/MyGraphen/Knoten.java @@ -17,10 +17,28 @@ public class Knoten { this.kanten.add(kante); } - public ArrayList get_partner() { + public void get_partner() { ArrayList alle_knoten = new ArrayList<>(); for (Kanten k : kanten) alle_knoten.add(k.getpartner(this)); - return alle_knoten; + + System.out.println("Alle Knoten, die mit 'knote " + this.getValue() + "' Verbunden sind: "); + for (Knoten knoten:alle_knoten) + System.out.println("Knote: " + knoten.getValue()); + } + + public int getValue() { + return value; + } + + public void setValue(int value) { + this.value = value; + } + + public ArrayList getKanten() { + return kanten; + } + + } diff --git a/Programmierung2/src/MyGraphen/Main.java b/Programmierung2/src/MyGraphen/Main.java index 351ae9a..3f30dfb 100644 --- a/Programmierung2/src/MyGraphen/Main.java +++ b/Programmierung2/src/MyGraphen/Main.java @@ -12,12 +12,12 @@ public class Main { Knoten knote3 = new Knoten(3); Kanten k2 = new Kanten(knote1,knote3); - System.out.println(knote1.get_partner()); + knote3.get_partner(); graph.add_Knoten(knote1); graph.add_Knoten(knote2); graph.add_Knoten(knote3); - System.out.println(graph.knoten); + graph.zeige_Alle_Knoten(); } } diff --git a/Programmierung2/src/VorlesungsFolien/Willkommen_Folie/01_PR2-Objektorientierung-Grundlagen.pdf b/Programmierung2/src/VorlesungsFolien/Willkommen_Folie/01_PR2-Objektorientierung-Grundlagen.pdf new file mode 100644 index 0000000..1fafbc2 Binary files /dev/null and b/Programmierung2/src/VorlesungsFolien/Willkommen_Folie/01_PR2-Objektorientierung-Grundlagen.pdf differ