parent
f1faf023cf
commit
9b71822864
|
@ -0,0 +1,24 @@
|
||||||
|
package DesignPatterns.Erzeugungsmuster_CreationalPatterns.Factory.Zoo;
|
||||||
|
|
||||||
|
import DesignPatterns.Erzeugungsmuster_CreationalPatterns.Factory.Zoo.domain.Animal;
|
||||||
|
import DesignPatterns.Erzeugungsmuster_CreationalPatterns.Factory.Zoo.domain.Cat;
|
||||||
|
import DesignPatterns.Erzeugungsmuster_CreationalPatterns.Factory.Zoo.domain.Dog;
|
||||||
|
|
||||||
|
public class FaktoryMethode {
|
||||||
|
|
||||||
|
public static Animal erzeugeTiere(String species,String name, int alter) {
|
||||||
|
switch (species) {
|
||||||
|
|
||||||
|
case "Dog":
|
||||||
|
return new Dog(name,alter);
|
||||||
|
|
||||||
|
case "Cat":
|
||||||
|
return new Cat(name,alter);
|
||||||
|
|
||||||
|
default:
|
||||||
|
return null;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,18 @@
|
||||||
|
package DesignPatterns.Erzeugungsmuster_CreationalPatterns.Factory.Zoo;
|
||||||
|
|
||||||
|
import java.lang.reflect.InvocationTargetException;
|
||||||
|
import DesignPatterns.Erzeugungsmuster_CreationalPatterns.Factory.Zoo.domain.*;
|
||||||
|
|
||||||
|
public class ZooMain {
|
||||||
|
|
||||||
|
public static void main(String[] args) throws InstantiationException, IllegalAccessException, IllegalArgumentException, InvocationTargetException, NoSuchMethodException, SecurityException, ClassNotFoundException {
|
||||||
|
// Animal tiere = Animal.erzeugeTier("Britisch","DesignPatterns.Erzeugungsmuster_CreationalPatterns.Factory.Zoo.domain.Cat", 12);
|
||||||
|
//
|
||||||
|
// System.out.println(tiere.speak());
|
||||||
|
|
||||||
|
Animal tiere = FaktoryMethode.erzeugeTiere("Cat", "bob", 12);
|
||||||
|
|
||||||
|
tiere.speak();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,34 @@
|
||||||
|
package DesignPatterns.Erzeugungsmuster_CreationalPatterns.Factory.Zoo;
|
||||||
|
|
||||||
|
import java.util.Scanner;
|
||||||
|
|
||||||
|
public class ZooUI {
|
||||||
|
|
||||||
|
FaktoryMethode system;
|
||||||
|
|
||||||
|
public ZooUI() {
|
||||||
|
startProgramm();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private void startProgramm() {
|
||||||
|
Scanner eingabe = new Scanner(System.in);
|
||||||
|
System.out.println("Willkommen in meinem ZOO");
|
||||||
|
while (true) {
|
||||||
|
System.out.println("Welches Tier möchten Sie haben?");
|
||||||
|
System.out.println("1. Katze");
|
||||||
|
System.out.println("2. Hund");
|
||||||
|
System.out.println("3. Mouse");
|
||||||
|
String auswahl = eingabe.nextLine();
|
||||||
|
String name = eingabe.nextLine();
|
||||||
|
int alter = eingabe.nextInt();
|
||||||
|
switch (auswahl) {
|
||||||
|
case "Katze":
|
||||||
|
System.out.println("Name: ");
|
||||||
|
system.erzeugeTiere(auswahl, auswahl, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,49 @@
|
||||||
|
package DesignPatterns.Erzeugungsmuster_CreationalPatterns.Factory.Zoo.domain;
|
||||||
|
|
||||||
|
import java.lang.reflect.InvocationTargetException;
|
||||||
|
|
||||||
|
public abstract class Animal {
|
||||||
|
private String name;
|
||||||
|
private int alter;
|
||||||
|
private String species;
|
||||||
|
|
||||||
|
public Animal(String name, int alter) {
|
||||||
|
this.name = name;
|
||||||
|
this.alter = alter;
|
||||||
|
}
|
||||||
|
|
||||||
|
public abstract String speak();
|
||||||
|
|
||||||
|
public String getSpecies() {
|
||||||
|
return species;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getName() {
|
||||||
|
return name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setName(String name) {
|
||||||
|
this.name = name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getBirthyear() {
|
||||||
|
return alter;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setBirthyear(int birthyear) {
|
||||||
|
this.alter = birthyear;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSpecies(String species) {
|
||||||
|
this.species = species;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public static Animal erzeugeTier(String species ,String name, int alter) throws InstantiationException, IllegalAccessException, IllegalArgumentException, InvocationTargetException, NoSuchMethodException, SecurityException, ClassNotFoundException {
|
||||||
|
return (Animal) Class.forName(species)
|
||||||
|
.getDeclaredConstructor(String.class, Integer.TYPE)
|
||||||
|
.newInstance(name,alter);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,14 @@
|
||||||
|
package DesignPatterns.Erzeugungsmuster_CreationalPatterns.Factory.Zoo.domain;
|
||||||
|
|
||||||
|
public class Cat extends Animal {
|
||||||
|
|
||||||
|
public Cat( String name, int alter) {
|
||||||
|
super(name, alter);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String speak() {
|
||||||
|
return super.getSpecies()+ " macht: Meow";
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,14 @@
|
||||||
|
package DesignPatterns.Erzeugungsmuster_CreationalPatterns.Factory.Zoo.domain;
|
||||||
|
|
||||||
|
public class Dog extends Animal {
|
||||||
|
|
||||||
|
|
||||||
|
public Dog( String name, int alter) {
|
||||||
|
super(name, alter);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String speak() {
|
||||||
|
return super.getName() + " macht: Woof";
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,14 @@
|
||||||
|
package DesignPatterns.Erzeugungsmuster_CreationalPatterns.Factory.Zoo.domain;
|
||||||
|
|
||||||
|
public class Mouse extends Animal {
|
||||||
|
|
||||||
|
public Mouse(String name, int alter) {
|
||||||
|
super(name, alter);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String speak() {
|
||||||
|
return super.getSpecies() + " macht etwas etwas";
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,8 @@
|
||||||
|
package DesignPatterns.Erzeugungsmuster_CreationalPatterns.Factory.Zoo.domain;
|
||||||
|
|
||||||
|
public class Zoo {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,48 @@
|
||||||
|
package GUIAnwendungen.Beispiele;
|
||||||
|
|
||||||
|
import java.awt.BorderLayout;
|
||||||
|
import java.awt.GridLayout;
|
||||||
|
import java.awt.event.ActionEvent;
|
||||||
|
import java.awt.event.ActionListener;
|
||||||
|
|
||||||
|
import javax.swing.JButton;
|
||||||
|
import javax.swing.JFrame;
|
||||||
|
import javax.swing.JLabel;
|
||||||
|
import javax.swing.JPanel;
|
||||||
|
import javax.swing.JTextField;
|
||||||
|
|
||||||
|
public class GuiDemo implements ActionListener {
|
||||||
|
|
||||||
|
public static void main(String[] args) {
|
||||||
|
JFrame jf = new JFrame("Toller Titel");
|
||||||
|
|
||||||
|
jf.add(new JLabel("Hallo Welt!"), BorderLayout.NORTH);
|
||||||
|
jf.add(new JTextField(10), BorderLayout.CENTER);
|
||||||
|
|
||||||
|
JButton jb1 = new JButton("Cancel");
|
||||||
|
JButton jb2 = new JButton("OK");
|
||||||
|
|
||||||
|
JPanel jp = new JPanel();
|
||||||
|
jp.setLayout(new GridLayout());
|
||||||
|
jp.add(jb1);
|
||||||
|
jp.add(jb2);
|
||||||
|
|
||||||
|
jf.add(jp, BorderLayout.SOUTH);
|
||||||
|
|
||||||
|
jf.pack();
|
||||||
|
jf.setVisible(true);
|
||||||
|
|
||||||
|
GuiDemo obj = new GuiDemo();
|
||||||
|
jb1.addActionListener(obj);
|
||||||
|
jb2.addActionListener(obj);
|
||||||
|
|
||||||
|
System.out.println("Ende Gelände...");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void actionPerformed(ActionEvent e) {
|
||||||
|
JButton src = (JButton) e.getSource();
|
||||||
|
System.out.println("Button geklickt: " + src.getText());
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -32,7 +32,6 @@ public class jbutton implements ActionListener {
|
||||||
// x y width height
|
// x y width height
|
||||||
button.setBounds(100,100,200, 50);
|
button.setBounds(100,100,200, 50);
|
||||||
button.setText("Click me");
|
button.setText("Click me");
|
||||||
button.addActionListener(null);
|
|
||||||
|
|
||||||
// 2. Hinzufügen des ActionListeners zum Button
|
// 2. Hinzufügen des ActionListeners zum Button
|
||||||
JLabel label = new JLabel();
|
JLabel label = new JLabel();
|
||||||
|
@ -46,6 +45,8 @@ public class jbutton implements ActionListener {
|
||||||
* new ActionListener() ist nicht das Erzeugen einer Instanz des Interfaces selbst,
|
* new ActionListener() ist nicht das Erzeugen einer Instanz des Interfaces selbst,
|
||||||
* sondern das Erstellen einer Instanz einer anonymen Klasse, die das ActionListener-Interface implementiert.
|
* sondern das Erstellen einer Instanz einer anonymen Klasse, die das ActionListener-Interface implementiert.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
// Variante 1
|
||||||
button.addActionListener(new ActionListener() {
|
button.addActionListener(new ActionListener() {
|
||||||
@Override
|
@Override
|
||||||
public void actionPerformed(ActionEvent e) {
|
public void actionPerformed(ActionEvent e) {
|
||||||
|
@ -54,7 +55,10 @@ public class jbutton implements ActionListener {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
//Variante 2:
|
||||||
|
|
||||||
|
jbutton obj = new jbutton();
|
||||||
|
button.addActionListener(obj);
|
||||||
|
|
||||||
// Erstelle ein Fenster
|
// Erstelle ein Fenster
|
||||||
JFrame frame = new JFrame();
|
JFrame frame = new JFrame();
|
||||||
|
@ -86,8 +90,7 @@ public class jbutton implements ActionListener {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void actionPerformed(ActionEvent e) {
|
public void actionPerformed(ActionEvent e) {
|
||||||
// TODO Auto-generated method stub
|
System.out.println("Variante 2");
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,67 @@
|
||||||
|
package Hashmap.Autovermietung;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.HashMap;
|
||||||
|
|
||||||
|
public class Autovermietung {
|
||||||
|
// private ArrayList<Pkw> autos = new ArrayList<>();
|
||||||
|
HashMap<String, Pkw> autos = new HashMap<>();
|
||||||
|
|
||||||
|
public int getAnzahlPkws() {
|
||||||
|
return autos.size();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void pkwAnlegen(String kennzeichen, String typ, int kmStand) {
|
||||||
|
Pkw p = new Pkw(kennzeichen, typ, kmStand);
|
||||||
|
autos.put(kennzeichen, p);
|
||||||
|
}
|
||||||
|
|
||||||
|
public String[] getPkwListe() {
|
||||||
|
String[] liste = new String[autos.size()];
|
||||||
|
|
||||||
|
for (int i = 0; i < autos.size(); i++)
|
||||||
|
liste[i] = autos.get(i).toString();
|
||||||
|
|
||||||
|
return liste;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void verleiheFahrzeug(String kennzeichen) {
|
||||||
|
Pkw zuVerleihen = suchePkwNachKennzeichen(kennzeichen);
|
||||||
|
zuVerleihen.verleihen(new Kunde("Müller"));
|
||||||
|
|
||||||
|
// Hier könnten noch weitere Dinge erledigt werden, bspw. einen Counter für Vermietungen hochzählen o.ä.
|
||||||
|
}
|
||||||
|
|
||||||
|
// Hier wird zu Demonstrationszwecken das Geheimnisprinzip verletzt
|
||||||
|
public ArrayList<Pkw> suchePkwsNachTyp(String typ) {
|
||||||
|
ArrayList<Pkw> treffer = new ArrayList<>();
|
||||||
|
|
||||||
|
for (Pkw p : autos.values())
|
||||||
|
if (typ.equals(p.getType()))
|
||||||
|
treffer.add(p);
|
||||||
|
|
||||||
|
return treffer;
|
||||||
|
}
|
||||||
|
|
||||||
|
private Pkw suchePkwNachKennzeichen(String kennzeichen) {
|
||||||
|
return autos.get(kennzeichen);
|
||||||
|
|
||||||
|
// for (Pkw p : autos.values())
|
||||||
|
// if (kennzeichen.equals(p.getKennzeichen()))
|
||||||
|
// return p;
|
||||||
|
//
|
||||||
|
// return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean pkwZurücknehmen(String kennzeichen, int gefahreneKm) {
|
||||||
|
Pkw zurück = suchePkwNachKennzeichen(kennzeichen);
|
||||||
|
|
||||||
|
if (zurück == null)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
zurück.rückgabe(gefahreneKm);
|
||||||
|
// IRL würde man vermutlich den Km-Stand abfragen, aber so haben wir eine Kleinigkeit zu rechnen.
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,4 +1,4 @@
|
||||||
package Hashmap;
|
package Hashmap.Autovermietung;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.LinkedHashMap;
|
import java.util.LinkedHashMap;
|
|
@ -0,0 +1,21 @@
|
||||||
|
package Hashmap.Autovermietung;
|
||||||
|
|
||||||
|
public class Kunde {
|
||||||
|
private String name;
|
||||||
|
|
||||||
|
public Kunde(String name) {
|
||||||
|
|
||||||
|
this.name = name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getName() {
|
||||||
|
return name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setName(String name) {
|
||||||
|
this.name = name;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,48 @@
|
||||||
|
package Hashmap.Autovermietung;
|
||||||
|
|
||||||
|
public class Pkw {
|
||||||
|
private String kennzeichen;
|
||||||
|
private String type;
|
||||||
|
private int kmStand;
|
||||||
|
|
||||||
|
public Pkw(String kennzeichen, String typ, int kmStand) {
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getKennzeichen() {
|
||||||
|
return kennzeichen;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setKennzeichen(String kennzeichen) {
|
||||||
|
this.kennzeichen = kennzeichen;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getType() {
|
||||||
|
return type;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setType(String type) {
|
||||||
|
this.type = type;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getKmStand() {
|
||||||
|
return kmStand;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setKmStand(int kmStand) {
|
||||||
|
this.kmStand = kmStand;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void verleihen(Kunde kunde) {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public void rückgabe(int gefahreneKm) {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,35 @@
|
||||||
|
package oop.ExceptionHandling;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
|
||||||
|
public class CCMExceptionProvoker {
|
||||||
|
|
||||||
|
public static void main(String[] args) {
|
||||||
|
ArrayList<String> al = new ArrayList<>();
|
||||||
|
|
||||||
|
al.add("Peggy");
|
||||||
|
al.add("Bud");
|
||||||
|
al.add("Kelly");
|
||||||
|
al.add("Al");
|
||||||
|
|
||||||
|
String otbr = null;
|
||||||
|
|
||||||
|
for (String s : al) {
|
||||||
|
System.out.println(s);
|
||||||
|
|
||||||
|
if (s.equals("Al")) {
|
||||||
|
System.out.println("I move out of the House!");
|
||||||
|
al.remove(s); // Führt zur Exception, weil dem Iterator die genutze Liste "zerschossen" wird.
|
||||||
|
// otbr = s;
|
||||||
|
break; // Aber wenn wir break machen, dann geht das
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (otbr != null)
|
||||||
|
al.remove(otbr);
|
||||||
|
|
||||||
|
System.out.println(al.size());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
|
@ -48,7 +48,7 @@ public final class Auto implements Movable,SelfDrivable {
|
||||||
|
|
||||||
public void newMethod() {
|
public void newMethod() {
|
||||||
|
|
||||||
System.out.print("SelfDrivable");
|
System.out.print("SelfDrivable Auto");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,63 +0,0 @@
|
||||||
package oop.Interface;
|
|
||||||
|
|
||||||
public class Interface {
|
|
||||||
|
|
||||||
/*Was ist das?
|
|
||||||
* Eigentlich ist das fast wie die Abstrakte klassen außer:
|
|
||||||
*
|
|
||||||
* Implementierung Mehrfachvererbung
|
|
||||||
* abstrakte Klasse
|
|
||||||
*
|
|
||||||
* public interface klasseName
|
|
||||||
* alle Attribute werden automatisch (public static final)
|
|
||||||
* fast alle methoden werden automatisch (public abstract)
|
|
||||||
* ,außer die default methoden, die sollen aber in unterkalsse mit dem Wort public (soll geschrieben werden) implementiert werden und die können überschrieben werden
|
|
||||||
* Interface kann auch statiche methoden haben, die implementiert werden sollen
|
|
||||||
* default methoden sind nur in Interface erlaubt!
|
|
||||||
* final methoden sind nicht erlaubt, da sie abstrake sind und sollen überschreiben werden!
|
|
||||||
* private methoden sind erlaubt aber nur in der selben Klasse!
|
|
||||||
* Interface kann keinen Konstruktor haben!
|
|
||||||
* die untereklasse soll alle methode der Interface klasse implementieren
|
|
||||||
*
|
|
||||||
*
|
|
||||||
* NestedInterface:
|
|
||||||
* public interface NestedInterface {
|
|
||||||
void test();
|
|
||||||
|
|
||||||
interface InnerInterface {
|
|
||||||
default void test2() {
|
|
||||||
System.out.print("Innerinterface");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
implements wid durch NestedInterface.InnerInterface
|
|
||||||
|
|
||||||
*Functional Interface:
|
|
||||||
* @FunctionalInterface
|
|
||||||
public interface Test2{
|
|
||||||
int berechne(int a, int b);
|
|
||||||
|
|
||||||
}
|
|
||||||
* @FunctionalInterface dieses Interfaceklasse kann nur
|
|
||||||
* (eine abstratke) methode haben aber unendlich viele
|
|
||||||
* default,static und private methoden haben
|
|
||||||
*
|
|
||||||
* Marker or Tagging Interface:
|
|
||||||
* ist ein Interface in Java, das keine Methoden oder Konstanten deklarier
|
|
||||||
*
|
|
||||||
*
|
|
||||||
*
|
|
||||||
* wichtig:
|
|
||||||
* . eine unterekalsse extends eine Obereklasse
|
|
||||||
* . eine normale oder final Klasse kann implements eine interface klasse
|
|
||||||
* . eine interface klasse extends eine interface klasse
|
|
||||||
*
|
|
||||||
* welche java types kann interface implementieren?
|
|
||||||
* 1. klassen
|
|
||||||
* 2. abstrakte klassen
|
|
||||||
* 3. nested Klassen (Verschateten klassen)
|
|
||||||
* 4. Enum
|
|
||||||
* 5. dynamic proxy
|
|
||||||
*/
|
|
||||||
|
|
||||||
}
|
|
Binary file not shown.
|
@ -1,6 +1,7 @@
|
||||||
package oop.Interface;
|
package oop.Interface;
|
||||||
|
|
||||||
public interface Movable {
|
public interface Movable {
|
||||||
|
public static final int x = 0;
|
||||||
|
|
||||||
void moveUp();
|
void moveUp();
|
||||||
void moveDown();
|
void moveDown();
|
||||||
|
@ -12,4 +13,9 @@ public interface Movable {
|
||||||
System.out.print("SelfDrivable");
|
System.out.print("SelfDrivable");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public static void print() {
|
||||||
|
System.out.println("Statische Methode");
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 33 KiB |
|
@ -5,6 +5,7 @@ public class Test {
|
||||||
|
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
Movable a1 = new Auto();
|
Movable a1 = new Auto();
|
||||||
|
a1.newMethod();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,103 @@
|
||||||
|
package oop.inctanseof_Beispiel;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
//Interface
|
||||||
|
public interface Dtails {
|
||||||
|
|
||||||
|
void getDetails();
|
||||||
|
|
||||||
|
public static void main(String[] args) {
|
||||||
|
List<Dtails> datenListe = new ArrayList<>();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Objekte hinzufügen
|
||||||
|
datenListe.add(new Manager("Herr Müller"));
|
||||||
|
datenListe.add(new Katze("Whiskers"));
|
||||||
|
datenListe.add(new Hund("Bello"));
|
||||||
|
|
||||||
|
// Überprüfen, ob es ein Mitarbeiter, Katze oder Hund ist
|
||||||
|
for (Dtails daten : datenListe) {
|
||||||
|
if (daten instanceof Mitarbeiter) {
|
||||||
|
System.out.println("Das ist ein Mitarbeiter.");
|
||||||
|
daten.getDetails(); // Ruft die Methode von Manager auf
|
||||||
|
} else if (daten instanceof Katze) {
|
||||||
|
System.out.println("Das ist eine Katze.");
|
||||||
|
daten.getDetails(); // Ruft die Methode von Katze auf
|
||||||
|
} else if (daten instanceof Hund) {
|
||||||
|
System.out.println("Das ist ein Hund.");
|
||||||
|
daten.getDetails(); // Ruft die Methode von Hund auf
|
||||||
|
} else if (daten instanceof Animal) {
|
||||||
|
System.out.println("Das ist ein anderes Tier.");
|
||||||
|
daten.getDetails(); // Ruft die Methode von Animal auf
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Abstrakte Klasse Mitarbeiter
|
||||||
|
abstract class Mitarbeiter implements Dtails {
|
||||||
|
private String name;
|
||||||
|
|
||||||
|
public Mitarbeiter(String name) {
|
||||||
|
this.name = name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getName() {
|
||||||
|
return name;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Subklasse Manager
|
||||||
|
class Manager extends Mitarbeiter {
|
||||||
|
public Manager(String name) {
|
||||||
|
super(name);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void getDetails() {
|
||||||
|
System.out.println("Manager Name: " + getName());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Abstrakte Klasse Animal
|
||||||
|
abstract class Animal implements Dtails {
|
||||||
|
private String name;
|
||||||
|
|
||||||
|
public Animal(String name) {
|
||||||
|
this.name = name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getName() {
|
||||||
|
return name;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Subklasse Katze
|
||||||
|
class Katze extends Animal {
|
||||||
|
public Katze(String name) {
|
||||||
|
super(name);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void getDetails() {
|
||||||
|
System.out.println("Katze Name: " + getName());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Subklasse Hund
|
||||||
|
class Hund extends Animal {
|
||||||
|
public Hund(String name) {
|
||||||
|
super(name);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void getDetails() {
|
||||||
|
System.out.println("Hund Name: " + getName());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
|
@ -30,18 +30,11 @@ public class Controller implements ActionListener {
|
||||||
public void actionPerformed(ActionEvent e) {
|
public void actionPerformed(ActionEvent e) {
|
||||||
letzterText = v1.eingabe.getText();
|
letzterText = v1.eingabe.getText();
|
||||||
String speicher = "";
|
String speicher = "";
|
||||||
JButton clickedButton;
|
// Gibt mir, welche Button gedrückt ist
|
||||||
|
JButton src = (JButton) e.getSource();
|
||||||
|
|
||||||
if (e.getSource() == v1.button1 || e.getSource() == v1.button2 || e.getSource() == v1.button3
|
speicher = src.getText();
|
||||||
|| e.getSource() == v1.button4 || e.getSource() == v1.button5 || e.getSource() == v1.button6
|
|
||||||
|| e.getSource() == v1.button7 || e.getSource() == v1.button8 || e.getSource() == v1.button9
|
|
||||||
|| e.getSource() == v1.button0 || e.getSource() == v1.plus || e.getSource() == v1.minus
|
|
||||||
|| e.getSource() == v1.multi || e.getSource() == v1.divid || e.getSource() == v1.punkt) {
|
|
||||||
|
|
||||||
clickedButton = (JButton) e.getSource();
|
|
||||||
speicher = clickedButton.getText();
|
|
||||||
v1.setEingabe(letzterText + speicher);
|
v1.setEingabe(letzterText + speicher);
|
||||||
}
|
|
||||||
letzterText = v1.eingabe.getText();
|
letzterText = v1.eingabe.getText();
|
||||||
|
|
||||||
if (e.getSource() == v1.berechnen) {
|
if (e.getSource() == v1.berechnen) {
|
||||||
|
|
Loading…
Reference in New Issue