Java Abstract Class

Abstract Class เป็น Class ที่เป็นชื่อนามธรรมที่ใช้เรียกชื่อกลุ่มของนาม
Abstract Class ไม่สามารถสร้าง Object หรือ Instance ได้
Abstract Class เป็น Class ที่ไม่สมบูรณ์ สร้างขึ้นเพื่อให้คลาสลูกมาสืบทอดกล่าวคือเป็นฐานการทำงานสำหรับคลาสลูก
Abstract Class จะไม่มีการใช้งานเว้นแต่จะมี คลาสลูก มาสืบทอด

จุดประสงค์หลักของการสร้าง Abstract Class คือสร้างขึ้นเพื่อให้สมเหตุสมผลกับแนวคิดเชิงวัถตุ 

ตัวอย่าง แนวคิดเชิงวัตถุของ Abstract Class


Animal ควรจะเป็น Abstract Class เพราะ Animal เป็นชื่อกลุ่มของนามธรรมซึ่งมันไม่สมควรที่จะมี Object หรือ Instance ใดๆ เพราะเรายังนึกภาพในหัวไม่ออกว่า Animal นี้จะเป็นตัวรูปร่างอย่างไร

ส่วน Cat และ Dog คือคลาสลูกที่สืบทอดมาจาก Animal ทั้งสองจะทำให้ Animal ซึ่งเป็น Abstract Class นั้นสมบูรณ์และสามารถบอกได้ว่ามันคือตัวอะไร แล้วจึงสามารถสร้าง Object หรือ Instance ของตัวนั้นๆได้

การประกาศ Abstract Class ให้เติม keyword "abstract" ข้างหน้า  keyword "class"

ตัวอย่าง code


Abstract Method คือ Method ที่ไม่มี body หรือการทำงานใดๆ มีแค่ชื่อ Method เท่านั้น

การประกาศ Abstract Method ให้เติม keyword "abstract" ข้างหน้า void หรือ Reture Type 
ตัวอย่าง code


ถ้าคุณประกาศ Abstract Method คุณต้อง ประกาศ Abstract Class ด้วยเสมอ คุณไม่สามารถมี Abstract Method ใน Non-Abstract Class ได้

Abstract Class สามารถมีทั้ง Abstract Method และ Non-Abstract Method อีกทั้งยังสามารถมีสมาชิกอื่นๆเช่นเดียวกับ Class  ปกติได้

คลาสลูก ของ Abstract Class ต้อง Override ทุก Abstract Method ของ คลาสแม่
ส่วน Non-Abstract Method จะถูกสืบทอดไปตามปกติจะ Override หรือไม่ก็ได้ตามความจำเป็น

ตัวอย่าง code ภาพรวม








ไม่มีความคิดเห็น:

แสดงความคิดเห็น