ฟังก์ชันเสมือนใน Java คืออะไร?



บทความนี้ครอบคลุมแนวคิดของฟังก์ชันเสมือนใน java ด้วยแอปพลิเคชันในรูปแบบหลายรูปแบบและการเรียกใช้ฟังก์ชันในขณะทำงานพร้อมตัวอย่าง

Java คือไฟล์ ซึ่งสนับสนุนแนวความคิดเช่นความหลากหลายการสืบทอดสิ่งที่เป็นนามธรรม ฯลฯ แนวคิด OOP เหล่านี้หมุนรอบตัวเอง ชั้นเรียน , วัตถุ และฟังก์ชันสมาชิก ฟังก์ชันเสมือนเป็นแนวคิดหนึ่งที่ช่วยในความหลากหลายของเวลาทำงาน ในบล็อกนี้เราจะเรียนรู้เกี่ยวกับฟังก์ชันเสมือนใน . หัวข้อต่อไปนี้จะกล่าวถึงในบทความนี้

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” และทีมงานของเรายินดีที่จะตอบ