ความแตกต่างระหว่างคลาสและอินเตอร์เฟส

สารบัญ:

ความแตกต่างระหว่างคลาสและอินเตอร์เฟส
ความแตกต่างระหว่างคลาสและอินเตอร์เฟส

วีดีโอ: ความแตกต่างระหว่างคลาสและอินเตอร์เฟส

วีดีโอ: ความแตกต่างระหว่างคลาสและอินเตอร์เฟส
วีดีโอ: Abstract class vs Interface : Difference between abstract class and interface in Java 2024, มิถุนายน
Anonim

ความแตกต่างที่สำคัญ – คลาส vs อินเตอร์เฟส

การเขียนโปรแกรมเชิงวัตถุ (OOP) เป็นกระบวนทัศน์ทั่วไปในการพัฒนาซอฟต์แวร์ ช่วยนำสถานการณ์จริงมาสู่การเขียนโปรแกรมโดยใช้คลาสและอ็อบเจ็กต์ คลาสเป็นพิมพ์เขียวเพื่อสร้างวัตถุ โปรแกรมเมอร์สามารถสร้างคลาสด้วยคุณสมบัติและเมธอด นักเรียนและครูเป็นวัตถุ การสร้างวัตถุเรียกว่าการสร้างอินสแตนซ์ OOP ยังใช้อินเทอร์เฟซ อินเทอร์เฟซและคลาสอาจดูเหมือนคล้ายกัน แต่มีความแตกต่างกัน บทความนี้กล่าวถึงความแตกต่างระหว่างคลาสและอินเทอร์เฟซ ความแตกต่างที่สำคัญระหว่างคลาสและอินเทอร์เฟซคือคลาสเป็นประเภทอ้างอิงที่เป็นพิมพ์เขียวเพื่อสร้างอินสแตนซ์ของวัตถุในขณะที่อินเทอร์เฟซเป็นประเภทอ้างอิงที่ไม่สามารถใช้เพื่อสร้างอินสแตนซ์ของวัตถุได้

คลาสคืออะไร

ใน OOP ทุกสิ่งถือเป็นวัตถุ ไม่สามารถสร้างวัตถุโดยไม่มีคลาสได้ คลาสเป็นพิมพ์เขียวเพื่อสร้างวัตถุ เมื่อสร้างบ้านสถาปนิกจะวาดแบบแปลน แผนคล้ายกับชั้นเรียน ตัวบ้านมีลักษณะคล้ายกับวัตถุ ชั้นเรียนคือแผนการสร้างวัตถุ วัตถุคือสิ่งที่สร้างขึ้นโดยใช้คลาส

คลาสมีคุณสมบัติและวิธีการ นิสิตสามารถมีคุณสมบัติ เช่น ชื่อ เกรด เลขดัชนี นักเรียนสามารถมีวิธีต่างๆ เช่น การอ่าน การเดิน การเรียน คลาสถูกสร้างขึ้นด้วยคุณสมบัติและวิธีการที่จำเป็น

ไวยากรณ์สำหรับการสร้างคลาสในภาษาการเขียนโปรแกรมหลายภาษามีดังนี้ มันถูกสร้างขึ้นโดยใช้คลาสคำหลัก

คลาส class_name {

// คุณสมบัติ

//วิธี

}

ภาษาการเขียนโปรแกรม เช่น C และ Java จะใช้ไวยากรณ์ที่คล้ายกันเพื่อสร้างวัตถุโดยใช้คลาส สมมติว่าชื่อชั้นเรียนเป็นนักเรียน

นักเรียน s1=นักเรียนใหม่ ();

s1 นี้คือเป้าหมาย คีย์เวิร์ด "ใหม่" ใช้เพื่อจัดสรรหน่วยความจำสำหรับคุณสมบัติ คลาสยังมีตัวสร้างเพื่อเริ่มต้นคุณสมบัติหรือตัวแปร

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

อินเทอร์เฟซคืออะไร

นามธรรมเป็นเสาหลักของการเขียนโปรแกรมเชิงวัตถุ เป็นการซ่อนรายละเอียดการใช้งานและแสดงการทำงานให้ผู้ใช้เห็น สิ่งที่เป็นนามธรรมทำได้โดยใช้คลาสนามธรรมและอินเทอร์เฟซ วิธีการเชิงนามธรรมไม่มีการนำไปใช้ คลาสที่มีเมธอดนามธรรมอย่างน้อยหนึ่งวิธีเรียกว่าคลาสนามธรรม

เมื่อมีคลาสนามธรรมสองคลาส วิธีที่ประกาศในคลาสเหล่านั้นควรถูกนำไปใช้ คลาสใหม่ใช้เพื่อนำวิธีการเหล่านั้นไปใช้ หากทั้งสองคลาสมีวิธีการเดียวกัน อาจทำให้เกิดปัญหาความกำกวมได้ ดังนั้นภาษาโปรแกรมเช่น Java และ C มีส่วนต่อประสาน

อินเทอร์เฟซมีเพียงการประกาศวิธีการ ไม่มีวิธีการดำเนินการ นอกจากนี้ อินเทอร์เฟซไม่สามารถใช้เพื่อสร้างวัตถุได้ ใช้เพื่อรองรับการสืบทอดหลายรายการและเพื่อรักษาความปลอดภัยรหัส

ไวยากรณ์ของอินเทอร์เฟซมีดังนี้ อินเทอร์เฟซใช้คำสำคัญ "อินเทอร์เฟซ"

อินเทอร์เฟซ interface_name{

type method1(parameter_list);

type method2(parameter_list);

}

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

ความแตกต่างระหว่างคลาสและอินเตอร์เฟส
ความแตกต่างระหว่างคลาสและอินเตอร์เฟส
ความแตกต่างระหว่างคลาสและอินเตอร์เฟส
ความแตกต่างระหว่างคลาสและอินเตอร์เฟส

รูปที่ 01: โปรแกรมที่ใช้อินเทอร์เฟซ

ตามโปรแกรมข้างต้น A และ B เป็นส่วนต่อประสาน อินเทอร์เฟซ A มีการประกาศวิธีการซึ่งก็คือผลรวม () อินเตอร์เฟส B มีเมธอดการประกาศย่อย () คลาส C กำลังใช้งานอินเทอร์เฟซทั้ง A และ B ดังนั้นคลาส C จึงกำหนดทั้งวิธี sum() และ sub() หลังจากสร้างวัตถุประเภท C แล้ว สามารถเรียกทั้งสองวิธี sum() และ sub().

วิธีที่ประกาศในอินเทอร์เฟซจะต้องเป็นแบบสาธารณะเสมอเพราะคลาสการใช้งานกำหนดไว้ อินเทอร์เฟซยังสามารถสืบทอดจากอินเทอร์เฟซอื่นได้

ความคล้ายคลึงกันระหว่างคลาสและอินเทอร์เฟซคืออะไร

  • ทั้งสองประเภทอ้างอิง
  • ทั้งสองเกี่ยวข้องกับการเขียนโปรแกรมเชิงวัตถุ

ความแตกต่างระหว่างคลาสและอินเทอร์เฟซคืออะไร

คลาสเทียบกับอินเตอร์เฟส

คลาสเป็นประเภทอ้างอิงที่เป็นพิมพ์เขียวเพื่อสร้างวัตถุ อินเทอร์เฟซเป็นประเภทอ้างอิงที่ไม่สามารถสร้างอินสแตนซ์ได้
ตัวอย่างวัตถุ
คลาสใช้สำหรับสร้างอ็อบเจกต์ อินเทอร์เฟซไม่สามารถสร้างอินสแตนซ์ได้เนื่องจากวิธีการไม่สามารถดำเนินการใดๆ ได้
คอนสตรัคเตอร์
คลาสมีตัวสร้าง เพื่อเริ่มต้นตัวแปร อินเทอร์เฟซไม่มีตัวสร้างเพราะแทบไม่มีตัวแปรใด ๆ ที่จะเริ่มต้น
คำหลัก
คลาส A ใช้คำว่า “คลาส” อินเทอร์เฟซใช้คำหลัก “อินเทอร์เฟซ”
ตัวระบุการเข้าถึง
สมาชิกของชั้นเรียนสามารถเป็นส่วนตัว เป็นสาธารณะ และได้รับการคุ้มครอง สมาชิกของอินเทอร์เฟซควรเป็นแบบสาธารณะเสมอเพราะคลาสการใช้งานกำหนดไว้

สรุป – คลาส vs อินเตอร์เฟส

คลาสและอินเทอร์เฟซใช้กันอย่างแพร่หลายในการเขียนโปรแกรมเชิงวัตถุ ความแตกต่างระหว่างคลาสและอินเทอร์เฟซคือคลาสเป็นประเภทอ้างอิงซึ่งเป็นพิมพ์เขียวเพื่อสร้างอินสแตนซ์ของวัตถุและอินเทอร์เฟซเป็นประเภทอ้างอิงซึ่งไม่สามารถใช้เพื่อสร้างอินสแตนซ์ของวัตถุได้คลาสสามารถใช้อินเทอร์เฟซได้มากมาย แต่มันสามารถขยายซุปเปอร์คลาสได้เพียงตัวเดียวเท่านั้น ในอินเทอร์เฟซสามารถสืบทอดอินเทอร์เฟซจำนวนมากได้ แต่ไม่สามารถนำไปใช้ได้ ทั้งสองมีความสำคัญของพวกเขา โปรแกรมเมอร์สามารถใช้งานได้ตามซอฟต์แวร์ที่กำลังพัฒนา

ดาวน์โหลด PDF Class vs Interface

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