Dieses Beispiel teilt den spezifischen Code von Java, das das Mitarbeiterverwaltungssystem für Ihre Referenz implementiert. Der spezifische Inhalt ist wie folgt
Die relevanten Inhalte, die hauptsächlich in diesem System praktiziert werden:
1. Prozesssteuerungsanweisungen
2. Klassen, Objekte
3. Einkapselung, Vererbung, Polymorphismus
4. Überladen und Umschreiben von Methoden
5. Zugriffsmodifikator
6. Statisch
Anforderung Beschreibung:
Basic information of employee information - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Attribute: Mitarbeiternummer, Mitarbeitername, Mitarbeiterposition, Urlaubstage, Grundgehalt, normales Mitarbeitergehalt:
Erhöhen Sie auf der Grundlage des Grundgehalts die Mahlzeiten für die Arbeit um 10%, 50% Jobsubvention, 200 Yuan Housing Subvention Basisgehalt + Grundgehalt * 0,1 + Grundgehalt * 0,5 + 200
---------Manager----------
Attribute: Arbeitnehmernummer, Mitarbeitername, Mitarbeiterposition, Urlaubstage, Grundgehalt des Basis -Gehaltsmanagers:
Aufgrund des Grundgehalts, 20% Arbeitsmahlzeiten, 50% Jobsubvention, 500 Yuan Housing Subvention Basisgehalt + Grundgehalt * 0,2 + Grundgehalt * 0,5 + 500
-----------Direktor----------
Attribute: Mitarbeiternummer, Mitarbeitername, Mitarbeiterposition, Urlaubstage, Grundgehalt, Direktorgehalt:
Auf der Grundlage des Grundgehalts, 8% Arbeitsmahlzeiten, 30% Jobsubvention, 2.000 Yuan Housing Subvention, 3.000 Yuan Investment Subvention Basisgehalt + Grundgehalt * 0,08 + Grundgehalt * 0,3 + 2.000 + 3.000
----------andere-----------
Nach dem Gehaltsabzug nehmen alle Mitarbeiter nicht Urlaub. Das gesamte Grundgehalt wird bezahlt. Wenn Sie einen Urlaub haben, wird das durchschnittliche tägliche Gehalt* Anzahl der Urlaubstage abgezogen.
Allgemeine Designideen:
Es gibt eine übergeordnete Klasse eines Mitarbeiters, einen gewöhnlichen Mitarbeiter, einen Manager und eine Vorsitzende -Unterklasse, und die Gehaltsmethode der Elternklasse wird jeweils umgeschrieben. Die letzte Testklasse.
Die Schnittstelle nach der Implementierung ist in der Abbildung dargestellt:
Es gibt kein Problem beim Schreiben von Unterklassen über Elternklassen. Achten Sie so weit wie möglich auf die Kapselung. Es ist am besten, privat zu verwenden, um die Eigenschaften zu ändern. Der Herausgeber war faul und verbringt vor allem Zeit mit dem Schreiben von Testkursen o ( ̄ε ̄*) o.
HINWEIS: Da dieses System nur Objekte in Objektarrays speichert, wird die feste Länge bei der Initialisierung des Arrays auf 100 eingestellt, und das System initialisiert automatisch jedes Array -Element in Null. Beim Schreiben von Testmethoden müssen Sie daher auf das Schreiben von Nullzeigerfehlern in den Durchgangsaufträgen achten. Der Herausgeber ist dumm, also habe ich eine Weile damit verbracht, es auszuschreiben (_)
Wenn Sie die Informationen des Mitarbeiters ändern, achten Sie darauf, was zu tun ist, wenn sich die Position des Mitarbeiters ändert. Immerhin hat sich das Objekt geändert und die Methode zur Behandlung des Gehalts ist unterschiedlich.
Der folgende Code wird veröffentlicht:
Erstens der Mitarbeiter der Elternklasse
// Premium Class Public Class Employee {String ID; Zeichenfolge Name; Saitenposition; int Urlaub; doppeltes Gehalt; public Employee () {} public void sumSalary () {} public void display () {system.out.println ("id:"+id+", name:"+name+", Position:"+Position+", Anzahl der Urlaubstage:"+Feiertag+, Gehalt: "+Gehalt); }}Drei Unterkategorien:
öffentliche Klasse Common Employeee erweitert Mitarbeiter {@Override public void sumsalary () {Super.Salary = Super.Salary+Super.Salary*0,1+Super.Salary*0,5+200-Super.Holiday*(Super.Salary/30); }} public class Manager erweitert Mitarbeiter {@Override public void sumsalary () {Super.Salary = Super.Salary+Super.Salary*0,2+Super.Salary*0,5+200-super.holiday*(Super.Salary/30); }} öffentlicher Klasse Direktor erweitert Mitarbeiter {@Override public void sumsalary () {Super.Salary = Super.Salary+Gehalt*0,08+Super.Salary*0,3+2000+3000-super.holiday*(Super.Salary/30); }}Als nächstes ist die Schlüsselprüfklasse, hier ist ein bisschen zu viele, um die Hinzufügung, Löschung, Änderung und Suche zu vervollständigen.
public class testemd {static scanner sc = neuer Scanner (System.in); statischer Mitarbeiter [] em = neuer Mitarbeiter [100]; public static void caozuo () { System.out.println("--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Modifizieren --- "); System.out.println ("--- 4 Abfrage ---"); System.out.println ("--- 0 exit ---"); System.out.println("------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- UpdateOper () Pause; System.out.println ("-----------"); Tage: "); int Holiday = sc.Nextint (); System.out.print (" Grundgehalt: "); Doppelgehalt = sc.NextDouble (); Switch (Position) {Fall" gewöhnlicher Mitarbeiter ": Mitarbeiter a = new CommonOPhoree (); A.id = id; = I <100; b.Salary = Gehalt; C. name = C. Standard: system.out.println ("Diese Position existiert nicht, bitte eintreten!") System.out.println ("-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- i = 0; i <100; sc.Next (); {CaoZuo (); {Fortsetzung; System.out.println ("-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- System.out.println ("Was Sie ändern möchten:") sc.Next (); em[i].position = position; em[i].holiday = holiday; em[i].salary = salary; em[i].sumSalary(); System.out.println("Modification successful!"); em[i].display(); } else { em[i] = null; Employee a = new CommonEmployee(); a.ID = id; a.name = name; a.position = "ordinary employee"; A. (EM [i] .Position. em [i] = null; Em [J]. System.out.println("Modified successfully!"); em[i].display(); } else { em[i] = null; Employee c = new Director(); c.ID = id; c.name = name; c.position = "Chairman"; c.holiday = holiday; c.salary = salary; c.sumSalary(); for (int j = 0; j < 100; j++) { if (em[j] == null) {em [j] = c; {// todo automatisch generierte Blocke E.Printstacktrace (); {System.out.println ("Der Mitarbeiter, den Sie eingegeben haben, existiert nicht! Bitte gehen Sie wieder ein!"); System.out.println("------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ Todo automatisch generiertes Block E. Printstacktrace ();Ich kam zu Post, sobald ich das Programm geschrieben hatte. Ich habe keine Probleme mit dem einfachen Test gefunden. Wenn Sie etwas falsch finden, korrigieren Sie mich bitte. Danke schön.
Weitere Lernmaterialien finden Sie auf das spezielle Thema "Managementsystementwicklung".
Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, es wird für das Lernen aller hilfreich sein und ich hoffe, jeder wird Wulin.com mehr unterstützen.