Interface กับ Abstract Class ต่างกันอย่างไร

บทความเกี่ยวกับ : Interface กับ Abstract Class ต่างกันอย่างไร


Interface กับ Abstract Class ต่างกันอย่างไร
เอาล่ะวัีนนี้มารื้อฟื้นความทรงจำเกี่ยวกับเรื่องของ OOP  ตามแบบของ Java กันซักนิด
หลายคนชอบเอา  Interface กับ Abstract มาเปรียบเทียบกัน บางคนบอกมันคล้ายๆ กัน
แต่สำหรับผมแล้ว มันคนละเรื่อง เพราะมันคือ Interface กับ Class
แค่รูปแบบการสร้างอะไรต่างๆ มันก็ไม่เหมือนกันแล้วครับ พี่น้อง
แต่คงเนื่องด้วยการนำมาใช้งานที่ดูเผินๆ แล้วมันค่อนข้างจะไกล้เคียงกัน
นั่นเป็นเพราะคุณเอามาใช้งานผิดประเภทนั่นเอง งานบางงานควรใช้แค่ Abstract Class
แต่คุณกลับเอา Interface มาใช้ ผมจะตอบตามในหนังสือเลยละกันนะครับ เค้าก็เขียนไว้ถูกต้องแล้ว

Abstract Class คือ Class แม่แบบครับที่ออกแบบวางโครงสร้างไว้แต่ยัง Implements ไม่เสร็จ
จะว่าไปก็คงไม่เสร็จหรอกเพราะไม่ต้องการจะ Implements เพียงแค่วางโครงออกมาให้ เค้า สืบทอดไป Implements ต่อ

Interface เอาไว้แก้ปัญหา การสืบทอดครับ เพราะถ้าเป็น Class แล้วจะสืบทอดจาก Class แม่ได้เพียง
Class เดียวเท่านั้น แต่ Interface สามารถ Implements ได้ไม่จำกัด



จะเห็นมั้ยครับว่ามันไม่เหมือนกัน แต่เนื่องจากว่า Interface สามารถสวมบทบาทในเรื่องของการวางโครงของ Abstract ไว้ได้ อาจเป็นเพราะเหตุนี้จึงทำให้คนหันมาใช้ Interface กันแทนที่จะใช้ Abstract

ความคิดเห็น

โพสต์ยอดนิยมจากบล็อกนี้

Oracle date format จัด format date ให้แสดง พศ และ เดือน ภาษาไทยหรือตามภาษาที่เราเลือก

java -Xms , java -Xmx กำหมด memory ให้ JVM เพื่อป้องกันปัญหา Out of Memory

Java this กับ super การใช้งานคำสั่ง this กับ super ใน ภาษา Java