master
3009594 2024-10-08 18:42:26 +02:00
parent ed75d4a669
commit 46081c17b4
3 changed files with 150 additions and 71 deletions

View File

@ -10,15 +10,15 @@ 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());
allStudents = new ArrayList<>(); allStudents = new ArrayList<>();
} }
public void login() { 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,42 +32,60 @@ 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());
// String[] array = {student.getId()+"",student.getAdresse(),student.getEmail(),student.getGeburtstag(),student.getGeschlecht(),student.getName(),student.getTele()};
// view.getModel().addRow(array);
restAlleInputs(); restAlleInputs();
}
public void update() {
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();
} }
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);
if (student != null) { if (student != null) {
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() {
String studentName = view.getEingabeNameZuSuchen().getText(); String studentName = view.getEingabeNameZuSuchen().getText();
student = findStudent(studentName); student = findStudent(studentName);
if (student != null) { if (student != null) {
String[] array = {student.getId()+"",student.getAdresse(),student.getEmail(),student.getGeburtstag(),student.getGeschlecht(),student.getName(),student.getTele()}; String[] array = {student.getId()+"",student.getName(),student.getVorname(),student.getGeburtstag(),student.getGeschlecht(),student.getTele(),student.getEmail(),student.getAdresse()};
view.getModel().addRow(array); view.getModel().addRow(array);
view.setEingabeNameZuSuchen(""); view.setEingabeNameZuSuchen("");
}else }else
@ -82,7 +100,18 @@ public class VerwalteStudent {
return null; return null;
} }
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,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,47 +0,0 @@
package VorlesungsFolien.Verebung;
public class Main {
public static void main(String[] args) {
Mitarbeiter mi = new Mitarbeiter("Müller", "27.10.1972");
System.out.println(mi.toString()); // nutzt die von Object geerbte Methode
System.out.println(mi.getDetails());
System.out.println();
Manager ma = new Manager("Stromberg", "01.02.1970");
System.out.println(ma.toString()); // wieder die Methode von Object
System.out.println(ma.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!
}
public String getDetails() {
return super.getDetails() + " " + abteilung;
}
}