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

ความแตกต่างระหว่างความแตกต่างระหว่างเวลาคอมไพล์และความแตกต่างระหว่างรันไทม์


ความหลากหลายเป็นหนึ่งในแนวคิด OOP ที่สำคัญที่สุด เป็นแนวคิดที่เราสามารถทำงานชิ้นเดียวได้หลายวิธี ความแตกต่างมีอยู่สองประเภท ประเภทแรกคือ Polymorphism ของ Compile-time และอีกประเภทหนึ่งคือ Polymorphism แบบรันไทม์

เมธอดโอเวอร์โหลดเป็นตัวอย่างของความแตกต่างของเวลาคอมไพล์ และการแทนที่เมธอดเป็นตัวอย่างของความแตกต่างระหว่างรันไทม์

ซีเนียร์ เลขที่ คีย์ Compile-time polymorphism รันไทม์พหุสัณฐาน
1
พื้นฐาน
Compile time polymorphism หมายถึงการผูกเกิดขึ้นในเวลาที่รวบรวม
R un time polymorphism เมื่อรันไทม์เรารู้ว่าวิธีใดที่จะเรียกใช้
2
สแตติก/ไดนามิก
ผูกพัน


สามารถทำได้ผ่านการผูกแบบคงที่
สามารถทำได้ผ่านการผูกแบบไดนามิก
4.
การสืบทอด
ไม่รับมรดก
มีส่วนในการรับมรดก
5
ตัวอย่าง
เมธอดโอเวอร์โหลดเป็นตัวอย่างของคอมไพล์เวลา polymorphism
การแทนที่เมธอดเป็นตัวอย่างของความแตกต่างระหว่างรันไทม์

ตัวอย่างของ Compile-time Polymorphism

คลาสสาธารณะหลัก { โมฆะคงที่สาธารณะหลัก (สตริง args []) { CompileTimePloymorphismExample obj =ใหม่ CompileTimePloymorphismExample (); obj.display(); obj.display("พหุสัณฐาน"); }} class CompileTimePloymorphismExample { การแสดงเป็นโมฆะ () { System.out.println ("ในการแสดงผลโดยไม่มีพารามิเตอร์"); } การแสดงเป็นโมฆะ (ค่าสตริง) { System.out.println ("ในการแสดงผลพร้อมพารามิเตอร์" + ค่า); }}

ตัวอย่างความแตกต่างระหว่างรันไทม์

<ก่อน> คลาสสาธารณะหลัก { โมฆะคงที่สาธารณะหลัก (สตริง args []) { RunTimePolymorphismParentClassExample obj =RunTimePolymorphismSubClassExample ใหม่ (); obj.display(); }} class RunTimePolymorphismParentClassExample { การแสดงโมฆะสาธารณะ () { System.out.println ("วิธีการแทนที่"); }} คลาสสาธารณะ RunTimePolymorphismSubClassExample ขยาย RunTimePolymorphismParentExample { การแสดงโมฆะสาธารณะ () { System.out.println ("วิธีการแทนที่"); }}