บล็อกนี้จะกล่าวถึงการใช้ 'คลาสย่อย' และ 'ซูเปอร์คลาส' ในการสืบทอด Java
Subclass ในการสืบทอด Java คืออะไร?
เอ “ คลาสย่อย ' เช่น., ' เด็ก ” สอดคล้องกับคลาสที่สืบทอด “ ซูเปอร์คลาส ', เช่น., ' พ่อแม่ '. มันสืบทอดคุณสมบัติ Superclass และยังมีแอตทริบิวต์ของตัวเอง สำหรับการสร้างคลาสย่อยของคลาส super/parent ให้ใช้ปุ่ม “ ขยาย ” คีย์เวิร์ดในการประกาศคลาส คลาสย่อยสามารถสืบทอดตัวแปรและวิธีการจากซูเปอร์คลาสที่เกี่ยวข้องได้ นอกจากนี้ คลาสนี้ยังสามารถเลือกที่จะซ่อนตัวแปรหรือแทนที่เมธอดที่สืบทอดมาจากซูเปอร์คลาส
Superclass ในการสืบทอด Java คืออะไร
“ ซูเปอร์คลาส ” อย่างไรก็ตาม เป็นคลาสที่สามารถสร้างคลาสย่อยได้หลายคลาส คลาสย่อยสืบทอดลักษณะ/ฟังก์ชันการทำงานของซูเปอร์คลาส ชั้นนี้เรียกอีกอย่างว่า ' พ่อแม่ ' หรือ ' ฐาน ' ระดับ.
ตัวอย่าง: การสร้างคลาสย่อยและซูเปอร์คลาสในการสืบทอด Java
ในตัวอย่างนี้ คลาสย่อย (ชายด์) สืบทอดซูเปอร์คลาส (พาเรนต์) โดยการเข้าถึงตัวแปรสมาชิกและเมธอดจากซูเปอร์คลาส
รหัสซูเปอร์คลาส
ภาพรวมของด้านล่างที่ให้ไว้ “ ซูเปอร์คลาส ” รหัส:
คลาสซุปเปอร์คลาส {
สตริง ก = 'เดวิด' ;
ประชาชน ( นานาชาติ ก, นานาชาติ ข ) {
กลับ ก + ข ;
} }
ในรหัสด้านบน:
- ขั้นแรก สร้างซูเปอร์คลาสชื่อ “ ซุปเปอร์คลาส '.
- ในคำจำกัดความ เริ่มต้น a “ สตริง ' ตัวแปร.
- นอกจากนี้ ให้กำหนดฟังก์ชันชื่อ “ ผลรวม () '.
- พารามิเตอร์ของฟังก์ชันชี้ไปที่ค่าที่ส่งผ่านซึ่งจำเป็นต้องได้รับการประเมินสำหรับผลรวม
รหัสคลาสย่อย
ตอนนี้ เรามาต่อกันที่ “ คลาสย่อย ” รหัส:
classsubClassextendssuperClass {
สาธารณะ สตริง เชื่อม ( ) {
กลับ ก. เชื่อม ( 'ลี่' ) ;
} }
ในบรรทัดโค้ดด้านบน:
- สร้างคลาสย่อยชื่อ “ คลาสย่อย ” สืบทอดซูเปอร์คลาส “ ซุปเปอร์คลาส ” ผ่านทาง “ ขยาย ' คำสำคัญ.
- ในนิยามคลาส ให้ประกาศฟังก์ชัน “ เชื่อม () '.
- ในนิยาม (ฟังก์ชัน) ให้เชื่อมสตริงที่ระบุกับตัวแปรสตริงที่เรียกใช้จากซูเปอร์คลาสโดยใช้ ' เชื่อม () ' วิธี.
รหัสหลัก
ทีนี้มาดูสิ่งต่อไปนี้ ' หลัก ” รหัส:
คลาสย่อยซูเปอร์คลาส {publicstaticvoidmain ( สตริง หาเรื่อง [ ] ) {
วัตถุคลาสย่อย = ใหม่ คลาสย่อย ( ) ;
ระบบ . ออก . พิมพ์ ( วัตถุ. ผลรวม ( 2 , 3 ) ) ;
ระบบ . ออก . พิมพ์ ( วัตถุ. เชื่อม ( ) ) ;
} }
ในบล็อกรหัสด้านบน:
- สร้างอ็อบเจกต์คลาสลูกโดยใช้ “ ใหม่ ” คำหลักและ “ คลาสย่อย () ” ตัวสร้างตามลำดับ
- ในขั้นตอนถัดไป ให้เรียกใช้ฟังก์ชัน superclass ชื่อ “ ผลรวม () ” ผ่านออบเจกต์คลาสย่อยและส่งจำนวนเต็มที่ระบุเพื่อส่งคืนผลรวมที่สอดคล้องกัน
- สุดท้าย เข้าถึง (subclass) ฟังก์ชั่นของตัวเอง “ เชื่อม () ” และต่อท้ายสตริง
รหัสทั้งหมด
คลาสซุปเปอร์คลาส {สตริง ก = 'เดวิด' ;
สาธารณะ นานาชาติ ผลรวม ( นานาชาติ ก, นานาชาติ ข ) {
กลับ ก + ข ;
} }
classsubClassextendssuperClass {
สาธารณะ สตริง เชื่อม ( ) {
กลับ ก. เชื่อม ( 'ลี่' ) ;
} }
คลาสย่อยซูเปอร์คลาส {
สาธารณะ คงที่ เป็นโมฆะ หลัก ( สตริง หาเรื่อง [ ] ) {
วัตถุคลาสย่อย = ใหม่ คลาสย่อย ( ) ;
ระบบ . ออก . พิมพ์ ( วัตถุ. ผลรวม ( 2 , 3 ) ) ;
ระบบ . ออก . พิมพ์ ( วัตถุ. เชื่อม ( ) ) ;
} }
เอาต์พุต
จากผลลัพธ์ที่สร้างขึ้น สามารถวิเคราะห์ได้ดังต่อไปนี้:
- คลาสย่อยสืบทอดตัวแปรสมาชิก เช่น “ ก ” จากระดับซูเปอร์คลาส
- คลาสย่อยยังสืบทอดเมธอด เช่น “ ผลรวม () ” จากซูเปอร์คลาสผ่านวัตถุที่สร้างขึ้นและส่งคืนผลรวม
- มัน (คลาสย่อย) ยังคงคุณสมบัติและฟังก์ชันการทำงานของตัวเองไว้เหมือนเดิม
บทสรุป
คลาสย่อย เช่น “ เด็ก ” สอดคล้องกับคลาสที่สืบทอด superclass เช่น “ พ่อแม่ ” และซูเปอร์คลาสเป็นคลาสที่สามารถสืบทอดคลาสย่อยหลายคลาสได้ มันเป็นเช่นนั้นที่คลาสเดิมจะสืบทอดคุณสมบัติของซูเปอร์คลาสที่สอดคล้องกันและยังมีคุณสมบัติของตัวเองอีกด้วย บล็อกนี้สาธิตการใช้คลาสย่อยและซูเปอร์คลาสในการสืบทอด Java