Verebung
parent
ed75d4a669
commit
46081c17b4
|
@ -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,17 +32,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,24 +79,13 @@ 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() {
|
||||||
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("");
|
||||||
|
|
|
@ -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;
|
||||||
|
}
|
||||||
|
}
|
|
@ -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;
|
|
||||||
}
|
|
||||||
}
|
|
Loading…
Reference in New Issue