Abstract & Interface
รู้จักกับ Abstract Class
- Abstract Class เป็นคลาสว่างเปล่า (ในภาษาโปรแกรมอื่นๆ อาจจะเรียกว่า Template) ไม่สามารถสร้างออบเจ็กต์ได้ แต่สามารถสืบทอดต่อไปได้ แล้วเราค่อยปรับแต่งองค์ประกอบภายใน (ทั้งแอตทริบิวต์ และเมธอด) จนกลายเป็นคลาสใหม่ คราวนี้ก็จะสร้างออบเจ็กต์ได้
- รูปแบบการสร้าง Abstract Class
{ }
- รูปแบบของเมธอดใน Abstract class
abstract ชนิดของการคืนค่า ชื่อเมธอด (พารามิเตอร์);
{ return ชื่อตัวแปรในการคืนค่า ; }
- ตัวอย่างการเรียกใช้งาน
Interface คืออะไร
Interface ก็มีลักษณะคล้าย Abstract Class ที่ทำงานในลักษณะที่เป็น Template (หรือทำเป็นต้นแบบเอาไว้) แต่ไม่ได้กำหนดคำสั่งการทำงานใดๆ ให้กับเมธอดใน Interface
- รูปแบบ Interface มีดังนี้
- ส่วนรูปแบบของเมธอดภายใน Interface มีดังนี้
{ }
- รูปแบบการเรียกใช้งาน Interface
{ }
- ตัวอย่าง
ใช้ Interface สร้าง Multiple Inheritance
- Multiple Inheritance คือการสืบทอดคุณลักษณะจาก SuperClass หลายๆ คลาส สู่คลาส SubClass คลาสเดียว เช่นคลาส Child จะมาจากคลาส Father กับคลาส Mother ดังนั้นมันจึงมีแอตทริบิวต์ และเมธอดจากทั้งสองคลาสมารวมกัน
- รูปแบบการเรียกใช้งานหลาย Interface
public class ชื่อคลาส implements ชื่อInterface1,ชื่อInterface2,…, ชื่อInterfaceN
{ }
Interface Collection
- เรื่อง Interface Collection นี้เป็นเรื่องที่เกี่ยวกับโครงสร้างข้อมูล ไม่เกี่ยวข้องกับการสืบทอดหรือการใช้งาน Interface แบบเดิมเรากล่าวถึงในด้านบนเท่าไรนัก
Collection คืออะไร
- Collection เป็น Interface ที่มีเมธอดช่วยเก็บโครงสร้างข้อมูล โดยสามารถจะระบุหรือไม่ระบุลำดับความสำคัญของสมาชิกก็ได้ และสามารถที่จะกำหนดให้ค่าข้อมูลของสมาชิกซ้ำกันหรือไม่ก็ได้
- Collection มีเมธอดที่สำคัญดังนี้
- boolean add(Object element)
- boolean remove(Object element)
- int size( )
- boolean isEmpty( )
- boolean contains(Object element)
- Set เป็น Interface ที่มีเมธอดช่วยเก็บโครงสร้างข้อมูล สืบทอดมาจากอินเตอร์เฟส Collection โดยค่าข้อมูลของสมาชิกจะไม่สามารถซ้ำกันได้ และลำดับของสมาชิกไม่มีความสำคัญ คลาสสำคัญที่ implement อินเตอร์เฟส Set คือคลาส HashSet






























