Java คือไฟล์ ซึ่งสนับสนุนแนวความคิดเช่นความหลากหลายการสืบทอดสิ่งที่เป็นนามธรรม ฯลฯ แนวคิด OOP เหล่านี้หมุนรอบตัวเอง ชั้นเรียน , วัตถุ และฟังก์ชันสมาชิก ฟังก์ชันเสมือนเป็นแนวคิดหนึ่งที่ช่วยในความหลากหลายของเวลาทำงาน ในบล็อกนี้เราจะเรียนรู้เกี่ยวกับฟังก์ชันเสมือนใน . หัวข้อต่อไปนี้จะกล่าวถึงในบทความนี้
- Virtual Function ใน Java คืออะไร?
- ตัวอย่างฟังก์ชันเสมือน
- ฟังก์ชันเสมือนจริงพร้อมอินเทอร์เฟซ
- ฟังก์ชั่นเสมือนจริง
- ความแตกต่างแบบรันไทม์
- จุดที่ต้องจำ
Virtual Function ใน Java คืออะไร?
ลักษณะการทำงานของฟังก์ชันเสมือนสามารถ แทนที่ ด้วยฟังก์ชันการสืบทอดคลาสที่มีชื่อเดียวกัน โดยพื้นฐานแล้วจะถูกกำหนดไว้ในคลาสพื้นฐานและถูกแทนที่ในคลาสที่สืบทอดมา
java ผนวกทำอะไร
คาดว่าฟังก์ชันเสมือนใน Java จะถูกกำหนดไว้ในไฟล์ . เราสามารถเรียกฟังก์ชันเสมือนได้โดยอ้างถึงออบเจ็กต์ของคลาสที่ได้รับโดยใช้การอ้างอิงหรือตัวชี้ของคลาสฐาน
ทุกเมธอดที่ไม่คงที่ใน Java เป็นวิธีการเสมือนโดยดีฟอลต์ Java ไม่มีคีย์เวิร์ดเสมือนเช่น C ++ แต่เราสามารถกำหนดและใช้แนวคิดเหล่านี้สำหรับแนวคิดต่างๆเช่นความหลากหลายแบบรันไทม์
ตัวอย่างฟังก์ชันเสมือน
มาดูตัวอย่างเพื่อทำความเข้าใจว่าเราสามารถใช้ฟังก์ชันเสมือนใน Java ได้อย่างไร
class Vehicle {void make () {System.out.println ('heavy duty')}} public class Trucks ขยาย Vehicle {void make () {System.out.println ('Transport vehicle for heavy duty')} public static void main (String args []) {Vehicle ob1 = new Trucks () ob1.make ()}}
เอาท์พุต: รถขนส่งสำหรับงานหนัก
ทุกเมธอดที่ไม่คงที่ใน Java เป็นฟังก์ชันเสมือนยกเว้น สุดท้าย และ วิธีการส่วนตัว . วิธีการที่ไม่สามารถใช้สำหรับความหลากหลายไม่ถือว่าเป็นฟังก์ชันเสมือน
ถึง ไม่ถือว่าเป็นฟังก์ชันเสมือนเนื่องจากวิธีการแบบคงที่ถูกผูกไว้กับคลาสนั้นเอง ดังนั้นเราจึงไม่สามารถเรียกวิธีการคงที่จากชื่อวัตถุหรือคลาสสำหรับ . แม้ว่าเราจะแทนที่วิธีการแบบคงที่ แต่ก็ไม่สอดคล้องกับแนวคิดของความหลากหลาย
ฟังก์ชั่นเสมือนจริงพร้อมอินเทอร์เฟซ
อินเทอร์เฟซ Java ทั้งหมดเป็นแบบเสมือนโดยอาศัยคลาสการนำไปใช้เพื่อจัดเตรียมการใช้งานเมธอด รหัสสำหรับการดำเนินการถูกเลือกในรันไทม์ นี่คือตัวอย่างง่ายๆเพื่อความเข้าใจที่ดีขึ้น
อินเทอร์เฟซรถ {void applyBrakes ()} อินเทอร์เฟซ Audi ดำเนินการรถยนต์ {void applyBrakes () {System.out.println ('break Applied')}}
ที่นี่ applyBreaks () เป็นเสมือนเนื่องจากฟังก์ชันในอินเทอร์เฟซได้รับการออกแบบให้ถูกแทนที่
ฟังก์ชั่นเสมือนจริง
ฟังก์ชันเสมือนจริงเป็นฟังก์ชันเสมือนจริงที่เราไม่มีการนำไปใช้งาน วิธีนามธรรมใน Java ถือได้ว่าเป็นฟังก์ชันเสมือนจริง เรามาดูตัวอย่างเพื่อทำความเข้าใจเรื่องนี้ให้ดีขึ้น
คลาสนามธรรม Dog {final void bark () {System.out.println ('woof')} abstract void jump () // this is a pure virtual function} class MyDog expands Dog {void jump () {System.out.println ('Jumps in the air')}} Public class Runner {public static void main (String args []) {Dog ob1 = new MyDog () ob1.jump ()}}
เอาท์พุต: กระโดดในอากาศ
นี่คือวิธีที่สามารถใช้ฟังก์ชันเสมือนกับคลาสนามธรรมได้
ความแตกต่างระหว่างรันไทม์
ความหลากหลายแบบรันไทม์คือเมื่อการเรียกไปยังเมธอดที่ถูกแทนที่ได้รับการแก้ไขในเวลาทำงานแทนที่จะเป็น รวบรวมเวลา . วิธีการแทนที่ถูกเรียกผ่านตัวแปรอ้างอิงของคลาสฐาน
class Edureka {public void show () {System.out.println ('welcome to edureka')}} class Course ขยาย Edureka {public void show () {System.out.println ('Java Certification Program')} public static void main (สตริง args []) {Edureka ob1 = new Course () ob1.show ()}}
เอาท์พุต: หลักสูตรการรับรอง Java
จุดที่ต้องจำ
สำหรับฟังก์ชันเสมือนใน Java คุณไม่จำเป็นต้องมีการประกาศอย่างชัดเจน มันคืออะไรก็ได้ ที่เรามีในคลาสพื้นฐานและนิยามใหม่ในคลาสที่ได้รับที่มีชื่อเดียวกัน
ตัวชี้คลาสฐานสามารถใช้เพื่ออ้างถึงออบเจ็กต์ของคลาสที่ได้รับ
ในระหว่างการทำงานของโปรแกรมตัวชี้คลาสพื้นฐานจะใช้เพื่อเรียกฟังก์ชันคลาสที่ได้รับ
เรามาถึงตอนท้ายของบทความนี้ซึ่งเราได้เรียนรู้เกี่ยวกับ Virtual Function ใน Java ฉันหวังว่าคุณจะเข้าใจทุกสิ่งที่แบ่งปันกับคุณในบทแนะนำนี้
หากคุณพบบทความนี้เกี่ยวกับ“ ฟังก์ชันเสมือนใน Java” ที่เกี่ยวข้องโปรดดูที่ไฟล์ บริษัท การเรียนรู้ออนไลน์ที่เชื่อถือได้พร้อมเครือข่ายผู้เรียนที่พึงพอใจมากกว่า 250,000 คนกระจายอยู่ทั่วโลก
เราพร้อมช่วยเหลือคุณในทุกขั้นตอนในการเดินทางและจัดทำหลักสูตรที่ออกแบบมาสำหรับนักเรียนและผู้เชี่ยวชาญที่ต้องการเป็น Java Developer หลักสูตรนี้ออกแบบมาเพื่อให้คุณเริ่มต้นการเขียนโปรแกรม Java และฝึกอบรมแนวคิด Java ทั้งหลักและขั้นสูงพร้อมกับแนวคิดต่างๆ ชอบ ไฮเบอร์เนต & .
หากคุณพบคำถามใด ๆ อย่าลังเลที่จะถามคำถามทั้งหมดของคุณในส่วนความคิดเห็นของ“ ฟังก์ชันเสมือนใน Java” และทีมงานของเรายินดีที่จะตอบ