ตัวอย่างนี้แบ่งปันรหัสเฉพาะของ Java ที่ใช้ระบบการจัดการพนักงานสำหรับการอ้างอิงของคุณ เนื้อหาเฉพาะมีดังนี้
เนื้อหาที่เกี่ยวข้องซึ่งส่วนใหญ่ได้รับการฝึกฝนในระบบนี้:
1. งบควบคุมกระบวนการ
2. คลาสวัตถุ
3. การห่อหุ้ม, การสืบทอด, polymorphism
4. การโอเวอร์โหลดและการเขียนวิธีการใหม่
5. Access Modifier
6. คงที่
คำอธิบายข้อกำหนด:
ข้อมูลพื้นฐานของข้อมูลพนักงาน - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
คุณลักษณะ: หมายเลขพนักงานชื่อพนักงานตำแหน่งพนักงานวันลาวันเงินเดือนขั้นพื้นฐานเงินเดือนพนักงานสามัญ:
บนพื้นฐานของเงินเดือนขั้นพื้นฐานเพิ่มอาหารมื้ออาหาร 10%, เงินอุดหนุนงาน 50%, เงินอุดหนุนพื้นฐาน 200 หยวนเงินเดือนพื้นฐาน + เงินเดือนพื้นฐาน * 0.1 + เงินเดือนพื้นฐาน * 0.5 + 200
---------ผู้จัดการ----------
แอตทริบิวต์: หมายเลขพนักงานชื่อพนักงานตำแหน่งพนักงานวันลาวันผู้จัดการเงินเดือนขั้นพื้นฐานเงินเดือน:
บนพื้นฐานของเงินเดือนขั้นพื้นฐานอาหารมื้ออาหาร 20% เงินอุดหนุนงาน 50% เงินเดือนพื้นฐาน 500 หยวนเงินเดือนพื้นฐาน + เงินเดือนพื้นฐาน * 0.2 + เงินเดือนพื้นฐาน * 0.5 + 500
-----------ผู้อำนวยการ----------
แอตทริบิวต์: หมายเลขพนักงานชื่อพนักงานตำแหน่งพนักงานวันลาวันเงินเดือนขั้นพื้นฐานเงินเดือนผู้อำนวยการ:
บนพื้นฐานของเงินเดือนขั้นพื้นฐานอาหารมื้ออาหาร 8% เงินอุดหนุนงาน 30% เงินอุดหนุนที่อยู่อาศัย 2,000 หยวนเงินเดือนพื้นฐานการลงทุน 3,000 หยวนเงินเดือนพื้นฐาน + เงินเดือนพื้นฐาน * 0.08 + เงินเดือนพื้นฐาน * 0.3 + 2,000 + 3,000
----------อื่น-----------
หลังจากการหักเงินเดือนพนักงานทุกคนไม่ได้ลา เงินเดือนขั้นพื้นฐานทั้งหมดได้รับการจ่าย หากคุณมีการลาเงินเดือนเฉลี่ยต่อวันจะถูกหัก* จำนวนวันลา
แนวคิดการออกแบบทั่วไป:
มีชั้นเรียนผู้ปกครองของพนักงานคนหนึ่งพนักงานสามัญผู้จัดการหนึ่งคนหนึ่งผู้จัดการหนึ่งคนและคลาสย่อยของประธานคนหนึ่งและวิธีการเงินเดือนของชั้นเรียนหลักคือการเขียนใหม่ตามลำดับ คลาสทดสอบล่าสุด
อินเทอร์เฟซหลังจากการใช้งานจะแสดงในรูป:
ไม่มีปัญหาในการเขียนคลาสย่อยคลาสแม่ ให้ความสนใจกับการห่อหุ้มให้มากที่สุด เป็นการดีที่สุดที่จะใช้ส่วนตัวเพื่อแก้ไขคุณสมบัติ บรรณาธิการขี้เกียจและใช้เวลาส่วนใหญ่ในการเขียนคลาสทดสอบ o ( ̄ε ̄*) o
หมายเหตุ: เนื่องจากระบบนี้เก็บเฉพาะวัตถุในอาร์เรย์วัตถุความยาวคงที่ถูกตั้งค่าเป็น 100 เมื่อเริ่มต้นอาร์เรย์และระบบจะเริ่มต้นโดยอัตโนมัติแต่ละองค์ประกอบอาร์เรย์เป็นโมฆะ ดังนั้นเมื่อเขียนวิธีการทดสอบคุณต้องใส่ใจกับการเขียนข้อผิดพลาดตัวชี้โมฆะในการมอบหมายการสำรวจ บรรณาธิการโง่ดังนั้นฉันจึงใช้เวลาสักครู่ในการเขียนมัน (_)
นอกจากนี้หากคุณเปลี่ยนข้อมูลของพนักงานให้ใส่ใจกับสิ่งที่ต้องทำหากตำแหน่งของพนักงานเปลี่ยนไป ท้ายที่สุดวัตถุมีการเปลี่ยนแปลงและวิธีการจัดการเงินเดือนแตกต่างกัน
โพสต์รหัสต่อไปนี้:
ก่อนอื่นพนักงานชั้นเรียน
// พนักงานชั้นเรียนระดับพรีเมียมระดับพรีเมียม {string id; ชื่อสตริง; ตำแหน่งสตริง; วันหยุด int; เงินเดือนสองเท่า พนักงานสาธารณะ () {} โมฆะสาธารณะ sumsalary () {} แสดงโมฆะสาธารณะ () {system.out.println ("id:"+id+", ชื่อ:"+ชื่อ+", ตำแหน่ง:"+ตำแหน่ง+", จำนวนวันลา:"+วันหยุด+", เงินเดือน:"+เงินเดือน); -สามหมวดหมู่ย่อย:
คลาสสาธารณะ Commonemployee ขยายพนักงาน {@Override โมฆะสาธารณะ sumsalary () {super.salary = super.salary+super.salary*0.1+super.salary*0.5+200-super.holiday*(super.salary/30); }} ผู้จัดการชั้นเรียนสาธารณะขยายพนักงาน {@Override โมฆะสาธารณะ sumsalary () {super.salary = super.salary+super.salary*0.2+super.salary*0.5+200-super.holiday*(super.salary/30); }} ผู้อำนวยการระดับสาธารณะขยายพนักงาน {@Override โมฆะสาธารณะ sumsalary () {super.salary = super.salary+เงินเดือน*0.08+super.salary*0.3+2000+3000-super.holiday*(super.salary/30); -ถัดไปคือคลาสทดสอบที่สำคัญนี่คือมากเกินไปที่จะทำให้การเพิ่มการลบการดัดแปลงและการค้นหาเสร็จสมบูรณ์
Public Class Testemd {สแกนเนอร์แบบคงที่ SC = ใหม่สแกนเนอร์ (System.in); พนักงานคงที่ [] em = พนักงานใหม่ [100]; โมฆะคงที่สาธารณะ caozuo () { System.out.println ("------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ - แก้ไข ---"); System.out.println ("--- 4 Query ---"); System.out.println ("--- 0 Exit ---"); System.out.println ("-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- - UpdateMployee (); System.out.println ("-----------"); วัน: "); int holiday = sc.nextint (); system.out.print (" เงินเดือนพื้นฐาน: "); เงินเดือนสองเท่า = sc.nextdouble (); สวิตช์ (ตำแหน่ง) {กรณี" พนักงานสามัญ ": พนักงาน A = ใหม่ Commonemployee (); i = 0; i < 100; i++) { if (em[i] == null) { em[i] = a; System.out.println("Added successfully!"); em[i].display(); break; } else { continue; } } break; case "Manager": Employee b = new Manager(); b.ID = id; b.name = name; b.position = "Manager"; b.holiday = holiday; B.Salary = เงินเดือน; c.name = name; c.position = "Chairman"; c.holiday = holiday; c.salary = salary; c.sumSalary(); for (int i = 0; i < 100; i++) { if (em[i] == null) { em[i] = c; System.out.println("Added successfully!"); em[i].display(); break; } else { continue; } } break; ค่าเริ่มต้น: system.out.println ("ตำแหน่งนี้ไม่มีอยู่โปรดกลับเข้ามาอีกครั้ง!"); System.out.println ("-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- i = 0; Sc.Next (); {caozuo (); ! = 99) {ดำเนินการต่อ; System.out.println ("------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ - System.out.println ("สิ่งที่คุณต้องการแก้ไขคือ"); Sc.Next (); em [i]. positions = ตำแหน่ง; พนักงาน "; a.holiday = วันหยุด; a.salary = เงินเดือน; a.sumsalary (); สำหรับ (int j = 0; j <100; j ++) {ถ้า (em [j] == null) {em [j] = a; system.out.println (" การปรับเปลี่ยนประสบความสำเร็จ! "); (ฉัน]. position.equals ("ผู้จัดการ") {em [i]. id = id; EM [I] = NULL; em [j] .display (); em[i].sumSalary(); 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 ++) {ถ้า em [j] == null) {em [j] = c; Thread.sleep (2000); } else {ถ้า (i! = 99) {ดำเนินการต่อ; System.out.println ("-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- TODO ที่สร้างขึ้นโดยอัตโนมัติ E.PrintStackTrace ();} caozuo ();ฉันมาที่โพสต์ทันทีที่ฉันเขียนโปรแกรมเสร็จ ฉันไม่พบปัญหาใด ๆ กับการทดสอบอย่างง่าย ๆ หากคุณพบสิ่งผิดปกติโปรดแก้ไขฉัน ขอบคุณ
สำหรับสื่อการเรียนรู้เพิ่มเติมโปรดให้ความสนใจกับหัวข้อพิเศษ "การพัฒนาระบบการจัดการ"
ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้ ฉันหวังว่ามันจะเป็นประโยชน์ต่อการเรียนรู้ของทุกคนและฉันหวังว่าทุกคนจะสนับสนุน wulin.com มากขึ้น