Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

พฤติกรรมเสมือนเริ่มต้นแตกต่างกันอย่างไรใน C ++ และ Java


ใน C ++ วิธีการของสมาชิกคลาสนั้นไม่ใช่เสมือนโดยค่าเริ่มต้น ซึ่งหมายความว่าสามารถสร้างเสมือนได้โดยการระบุ

ในทางกลับกัน ใน Java เมธอดจะเป็นแบบเสมือนโดยค่าเริ่มต้น และสามารถทำให้ไม่เป็นเสมือนได้ด้วยความช่วยเหลือของคีย์เวิร์ด "ขั้นสุดท้าย"

ตัวอย่าง

class base_class{
   public void display_msg(){
      System.out.println("The display_msg method of base class class");
   }
}
class derived_class extends base_class{
   public void display_msg(){
      System.out.println("The display_msg of derived class called");
   }
}
public class Main{
   public static void main(String[] args){
      base_class my_instance = new base_class();;
      my_instance.display_msg();
   }
}

ผลลัพธ์

The display_msg method of base class class

สร้างคลาสชื่อ 'base_class' ซึ่งมีฟังก์ชัน 'display_msg' ฟังก์ชันนี้จะแสดงข้อความที่เกี่ยวข้องเท่านั้น ฟังก์ชันอื่นที่ชื่อว่า 'derived_class' นั้นสืบทอดมาจาก 'base_class' คลาสนี้ยังมี 'display_msg' ที่แสดงข้อความที่เกี่ยวข้อง คลาสอื่นที่ชื่อว่า Main ประกอบด้วยฟังก์ชันหลัก โดยที่อินสแตนซ์ของ base_class จะถูกสร้างขึ้น 'display_msg' ถูกเรียกพร้อมกับอินสแตนซ์นี้ และผลลัพธ์จะแสดงบนหน้าจอ