Aufgabe 3
This commit is contained in:
120
src/personen/DHStudent.java
Normal file
120
src/personen/DHStudent.java
Normal file
@ -0,0 +1,120 @@
|
||||
package personen;
|
||||
|
||||
import java.util.Comparator;
|
||||
|
||||
/**
|
||||
* DHStudent-Klasse repräsentiert einen DH-Studenten (Dualer Hochschule Student)
|
||||
* Erbt von Student und implementiert IMitarbeiter
|
||||
*
|
||||
* @author Ihr Name
|
||||
* @version 1.0
|
||||
*/
|
||||
public class DHStudent extends Student implements IMitarbeiter {
|
||||
|
||||
/**
|
||||
* Der Kurs des DH-Studenten
|
||||
*/
|
||||
private String kurs;
|
||||
|
||||
/**
|
||||
* Konstruktor für DHStudent
|
||||
*
|
||||
* @param name Der Name des DH-Studenten
|
||||
* @param kurs Der Kurs des DH-Studenten
|
||||
*/
|
||||
public DHStudent(String name, String kurs) {
|
||||
super(name);
|
||||
this.kurs = kurs;
|
||||
}
|
||||
|
||||
/**
|
||||
* Implementierung der Methode arbeitenOhneMurren aus dem Interface IMitarbeiter
|
||||
*/
|
||||
@Override
|
||||
public void arbeitenOhneMurren() {
|
||||
System.out.println("Ich bin der DHStudent " + this.name + " und gehe daher immer freudig meine Arbeit an!");
|
||||
}
|
||||
|
||||
/**
|
||||
* Gibt den Namen des Kurses ohne Zeilenumbruch aus und ruft die ererbte Methode druckeObjekt mit Parameter true auf
|
||||
*/
|
||||
public void druckeKurs() {
|
||||
System.out.print(this.kurs);
|
||||
this.druckeObjekt(true);
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter-Methode für den Kurs
|
||||
*
|
||||
* @return Der Kurs des DH-Studenten
|
||||
*/
|
||||
public String getKurs() {
|
||||
return kurs;
|
||||
}
|
||||
|
||||
/**
|
||||
* Setter-Methode für den Kurs
|
||||
*
|
||||
* @param kurs Der neue Kurs des DH-Studenten
|
||||
*/
|
||||
public void setKurs(String kurs) {
|
||||
this.kurs = kurs;
|
||||
}
|
||||
|
||||
/**
|
||||
* Überschreibt die toString-Methode für bessere Ausgabe
|
||||
*
|
||||
* @return String-Repräsentation mit Kurs, Name und Semester
|
||||
*/
|
||||
@Override
|
||||
public String toString() {
|
||||
return this.kurs + " " + this.name + " " + this.semester + ".Sem.";
|
||||
}
|
||||
|
||||
/**
|
||||
* Implementierung der default-Methode inKantineEssen aus IMitarbeiter
|
||||
*/
|
||||
@Override
|
||||
public void inKantineEssen() {
|
||||
System.out.println("Wie lecker doch das Essen bei meiner Ausbildungsfirma schmeckt!");
|
||||
}
|
||||
|
||||
/**
|
||||
* Innere Klasse für Sortierung nach Kurs und Name
|
||||
*/
|
||||
public class ComparatorKursName implements Comparator<DHStudent> {
|
||||
@Override
|
||||
public int compare(DHStudent dhs1, DHStudent dhs2) {
|
||||
int kursVergleich = dhs1.kurs.compareTo(dhs2.kurs);
|
||||
if (kursVergleich != 0) {
|
||||
return kursVergleich;
|
||||
}
|
||||
return dhs1.name.compareTo(dhs2.name);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Innere Klasse für Sortierung nach Semester, Name und Kurs
|
||||
*/
|
||||
public class ComparatorSemesterNameKurs implements Comparator<DHStudent> {
|
||||
@Override
|
||||
public int compare(DHStudent dhs1, DHStudent dhs2) {
|
||||
int semesterVergleich = Integer.compare(dhs1.semester, dhs2.semester);
|
||||
if (semesterVergleich != 0) {
|
||||
return semesterVergleich;
|
||||
}
|
||||
int nameVergleich = dhs1.name.compareTo(dhs2.name);
|
||||
if (nameVergleich != 0) {
|
||||
return nameVergleich;
|
||||
}
|
||||
return dhs1.kurs.compareTo(dhs2.kurs);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Statische Methode druckeAnzahl (für spätere Aufgabenteile)
|
||||
*/
|
||||
public static void druckeAnzahl() {
|
||||
System.out.println("DHStudent.anzahl = " + Person.anzahl);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user