ทั้งสองมีความเหมือนกันมากมายสำหรับประสบการณ์การทำงานใน บริษัท และพนักงานเดียวกัน ตัวอย่างเช่นเงินเดือนจะได้รับเงินทุกเดือน แต่ผู้จัดการจะได้รับโบนัสหลังจากเสร็จสิ้นงานเป้าหมาย ในเวลานี้การใช้คลาสพนักงานเพื่อเขียนคลาสผู้จัดการจะเขียนโค้ดน้อยลงและการใช้เทคโนโลยีการสืบทอดสามารถอนุญาตให้คลาสผู้จัดการใช้แอตทริบิวต์และวิธีการที่กำหนดไว้ในคลาสพนักงาน เขียนโปรแกรมที่แสดงให้เห็นถึงความแตกต่างระหว่างผู้จัดการและพนักงานโดยการสืบทอด
การวิเคราะห์ความคิด: ปัญหาการสืบทอดทั่วไป คลาสหลักคือคลาสพนักงานและคลาสย่อยคือคลาสผู้จัดการ การตั้งค่าและรับโบนัส
รหัสมีดังนี้:
การคัดลอกรหัสมีดังนี้:
นำเข้า java.util.date;
พนักงานชั้นเรียนสาธารณะ {
ชื่อสตริงส่วนตัว;
เงินเดือนสองเท่า;
วันเกิดส่วนตัว
สตริงสาธารณะ getName () {// รับชื่อพนักงาน
ชื่อคืน;
-
โมฆะสาธารณะ setName (ชื่อสตริง) {// ตั้งชื่อพนักงาน
this.name = ชื่อ;
-
Public Double GetSalary () {// รับเงินเดือนพนักงาน
เงินเดือนคืน;
-
โมฆะสาธารณะ Setsalary (เงินเดือนสองเท่า) {// กำหนดเงินเดือนของพนักงาน
this.salary = เงินเดือน;
-
วันที่สาธารณะ getBirthday () {// รับวันเกิดของพนักงาน
คืนวันเกิด;
-
โมฆะสาธารณะ setBirthday (วันเกิดวันที่) {// กำหนดวันเกิดของพนักงาน
this.birthday = วันเกิด;
-
-
ผู้จัดการชั้นเรียนสาธารณะขยายพนักงาน {
โบนัสคู่ส่วนตัว; // โบนัสของผู้จัดการ
Public Double GetBonus () {// รับโบนัสของผู้จัดการ
โบนัสคืน;
-
โมฆะสาธารณะ setbonus (โบนัสสองครั้ง) {// ตั้งค่าโบนัสของผู้จัดการ
this.bonus = โบนัส;
-
-
นำเข้า java.util.date;
การทดสอบระดับสาธารณะ {
โมฆะคงที่สาธารณะหลัก (สตริง [] args) {
พนักงานพนักงาน = พนักงานใหม่ (); // สร้างวัตถุพนักงานและกำหนดค่าให้กับมัน
พนักงาน. setName ("java");
พนักงาน. Setsalary (100);
Employee.SetBirthday (วันที่ใหม่ ());
manager manager = new Manager (); // สร้างวัตถุ Manager และกำหนดค่า
manager.setName ("Tomorrow Technology");
manager.setsalary (3000);
manager.setBirthday (วันที่ใหม่ ());
manager.setbonus (2000);
// ตัวจัดการเอาท์พุทและค่าแอตทริบิวต์พนักงาน
System.out.println ("ชื่อพนักงาน:" + Employee.getName ());
System.out.println ("เงินเดือนของพนักงาน:" + Employee.getSalary ());
System.out.println ("วันเกิดของพนักงาน:" + Employee.getBirthday ());
System.out.println ("ชื่อผู้จัดการ:" + manager.getName ());
System.out.println ("เงินเดือนผู้จัดการ:" + manager.getSalary ());
System.out.println ("วันเกิดของผู้จัดการ:" + manager.getBirthday ());
System.out.println ("โบนัสของผู้จัดการ:" + manager.getbonus ());
-
-
เอฟเฟกต์แสดงในรูป: