obai 2024-10-09 18:59:03 +02:00
commit d213d58262
6 changed files with 249 additions and 65 deletions

View File

@ -10,15 +10,28 @@ public class VerwalteStudent {
private ArrayList<Student> allStudents; private ArrayList<Student> allStudents;
public VerwalteStudent() { public VerwalteStudent() {
this.view = new Student_login(); this.view = new Student_login();
view.getInsertStudent().addActionListener(e -> login()); view.getInsertStudent().addActionListener(e -> insert());
view.getLoescheStudent().addActionListener(e -> loeschen()); view.getLoescheStudent().addActionListener(e -> loeschen());
view.getSucheStudent().addActionListener(e -> showUser()); view.getSucheStudent().addActionListener(e -> showUser());
view.getUpdateStudent().addActionListener(e -> update());
view.getZeigeAlleStudent().addActionListener(e -> showAll());
allStudents = new ArrayList<>(); allStudents = new ArrayList<>();
} }
public void showAll() {
if (allStudents.size() == 0)
view.showErrore("Keine Student sind im System!");
public void login() { else {
for (Student als:allStudents ) {
String[] array = {als.getId()+"",als.getName(),als.getVorname(),als.getGeburtstag(),als.getGeschlecht(),als.getTele(),als.getEmail(),als.getAdresse()};
view.getModel().addRow(array);
}
}
}
public void insert() {
String idText = view.getEingabeId().getText(); String idText = view.getEingabeId().getText();
int id = Integer.parseInt(idText); int id = Integer.parseInt(idText);
String name = view.getEingabeName().getText(); String name = view.getEingabeName().getText();
@ -32,17 +45,46 @@ public class VerwalteStudent {
student = new Student(name, vorname, geschlecht, email, teleN, Adresse, geburtstag, id); student = new Student(name, vorname, geschlecht, email, teleN, Adresse, geburtstag, id);
allStudents.add(student); allStudents.add(student);
view.showInfo(student.toString()); view.showInfo(student.toString());
restAlleInputs();
}
// String[] array = {student.getId()+"",student.getAdresse(),student.getEmail(),student.getGeburtstag(),student.getGeschlecht(),student.getName(),student.getTele()}; public void update() {
// view.getModel().addRow(array); String idText = view.getEingabeId().getText();
int id = Integer.parseInt(idText);
student = findStudent(id);
if (student == null) {
view.showErrore("Stundent ist nicht im System!");
return;
}
String name = view.getEingabeName().getText();
String vorname = view.getEingabeVorname().getText();
String geburtstag = view.getEingabeGeburtstag().getText();
String geschlecht = view.getEingabeGeschlecht().getSelectedItem().toString();
String teleN = view.getEingabeTeleN().getText();
String email = view.getEingabeEmail().getText();
String Adresse = view.getEingabeAdresse().getText();
if (!name.isEmpty())
student.setName(name);
else if(!vorname.isEmpty())
student.setVorname(vorname);
else if(!geburtstag.isEmpty())
student.setGeburtstag(geburtstag);
else if(!geschlecht.isEmpty())
student.setGeschlecht(geschlecht);
else if(!teleN.isEmpty())
student.setTele(teleN);
else if(!email.isEmpty())
student.setEmail(email);
else if(!Adresse.isEmpty())
student.setAdresse(Adresse);
view.showInfo("Student erfolgreich aktulisiert");
restAlleInputs(); restAlleInputs();
} }
public void loeschen() { public void loeschen() {
String idText = view.getEingabeIdZuLoeschen().getText(); String idText = view.getEingabeIdZuLoeschen().getText();
int id = Integer.parseInt(idText); int id = Integer.parseInt(idText);
student = findStudent(id); student = findStudent(id);
@ -50,17 +92,6 @@ public class VerwalteStudent {
allStudents.remove(student); allStudents.remove(student);
view.showInfo("Student wurde erfolgreich gelöscht"); view.showInfo("Student wurde erfolgreich gelöscht");
} }
}
private Student findStudent(int id) {
for (Student s : allStudents)
if (s.getId() == id)
return s;
return null;
} }
public void showUser() { public void showUser() {
@ -76,7 +107,18 @@ public class VerwalteStudent {
} }
public void restAlleInputs() {
private Student findStudent(int id) {
for (Student s : allStudents)
if (s.getId() == id)
return s;
return null;
}
private void restAlleInputs() {
view.setEingabeName("");; view.setEingabeName("");;
view.setEingabeTeleN(""); view.setEingabeTeleN("");
view.setEingabeAdresse(""); view.setEingabeAdresse("");

View File

@ -0,0 +1,57 @@
package VorlesungsFolien.Verebung;
public class DynamischeBindung {
public static void main(String[] args) {
Parent kind1 = new Kind("Obai",22);
System.out.println(kind1.print());
}
}
class Parent{
private String name;
private int alter;
private String adresse;
public Parent(String name, int alter) {
this.name = name;
this.alter = alter;
}
public Parent(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAlter() {
return alter;
}
public void setAlter(int alter) {
this.alter = alter;
}
public String print() {
return "Name: " + name + " Alter: " + alter;
}
}
class Kind extends Parent{
public Kind(String name, int alter) {
super(name, alter);
System.out.println("Kind klasse");
}
}

View File

@ -0,0 +1,97 @@
package VorlesungsFolien.Verebung;
import java.util.ArrayList;
public class Firma {
private ArrayList<Mitarbeiter> mas = new ArrayList<>();
public static void main(String[] args) {
Mitarbeiter mi = new Mitarbeiter("Müller", "27.10.1972");
Manager ma = new Manager("Stromberg", "01.02.1970", "Finanzen");
Firma hal = new Firma();
hal.mitarbeiterEinstellen(mi);
hal.mitarbeiterEinstellen(ma);
Mitarbeiter mi2 = new Mitarbeiter("Mayer", "12.12.1999");
hal.mitarbeiterEinstellen(mi2);
// ma = mi; // geht nicht!
mi = ma;
System.out.println("Polymorphismus");
System.out.println(mi.getGehalt());
System.out.println(ma.getAbteilung());
// System.out.println(mi.getAbteilung()); // geht nicht, wg. statischem Typ Mitarbeiter
if (mi instanceof Manager)
System.out.println( ((Manager)mi).getAbteilung() );
((Manager)mi2).getAbteilung();
}
private void mitarbeiterEinstellen(Mitarbeiter m) {
mas.add(m);
}
private void gehaltsErhöhung() {
for (Mitarbeiter m : mas) {
double erhöhung = 0.02;
// System.out.println(m instanceof String); // das geht NICHT, muss zur Vererbungshierachie passen
if (m instanceof Manager)
erhöhung = 0.12;
// else if (m instanceof Geschäftsführer)
// erhöhung = 0.2;
m.setGehalt(m.getGehalt() * (1 + erhöhung));
}
}
}
class Mitarbeiter extends Object {
private String name;
private double gehalt;
private String geburtsdatum;
public Mitarbeiter(String name, String geburtsdatum) {
this(name, 35000, geburtsdatum);
}
public Mitarbeiter(String name, double gehalt, String geburtsdatum) {
this.name = name;
this.gehalt = gehalt;
this.geburtsdatum = geburtsdatum;
}
public String getDetails() {
return name;
}
public double getGehalt() {
return gehalt;
}
public void setGehalt(double gehalt) {
this.gehalt = gehalt;
}
}
class Manager extends Mitarbeiter {
private String abteilung;
public Manager(String name, String geburtsdatum, String abteilung) {
super(name, 65000, geburtsdatum); // das MUSS zuerst gemacht werden!
this.abteilung = abteilung;
}
public String getDetails() {
return super.getDetails() + " " + abteilung;
}
public String getAbteilung() {
return abteilung;
}
}

View File

@ -1,42 +0,0 @@
package VorlesungsFolien.Verebung;
public class Main {
public static void main(String[] args) {
Mitarbeiter ai = new Manager("Herr Muller" , "01.02.2011");
System.out.println(ai.getDetails());
}
}
class Mitarbeiter extends Object {
private String name;
private double gehalt;
private String geburtsdatum;
public Mitarbeiter(String name, String geburtsdatum) {
this(name, 35000, geburtsdatum);
}
public Mitarbeiter(String name, double gehalt, String geburtsdatum) {
this.name = name;
this.gehalt = gehalt;
this.geburtsdatum = geburtsdatum;
}
public String getDetails() {
return name;
}
}
class Manager extends Mitarbeiter {
private String abteilung;
public Manager(String name, String geburtsdatum) {
super(name, 65000, geburtsdatum); // das MUSS gemacht werden!
}
@Override
public String getDetails() {
return super.getDetails() + " " + abteilung;
}
}

View File

@ -0,0 +1,30 @@
package VorlesungsFolien.Verebung;
public class StatischeMethode {
// Statische Methoden können nicht überschrieben werden!
public static void main(String[] args) {
Vater test = new Sohn();
test.printHi(); // Hi Vater
}
}
class Vater {
public static void printHi() {
System.out.println("Hi Vater");
}
}
class Sohn extends Vater {
public static void printHi() {
System.out.println("Hi Son");
}
}