ASP.NET

Sunday, July 16, 2017

Abstract vs Interface ต่างกันตรงไหน

เปรียบเทียบผ่านตารางละกัน

Abstract Interface
เป็น Class ไม่ใช่ Class
ถูกนำมาใช้กับ Class ที่สามารถให้ Method กับ Class ลูกใช้งานได้ทันที และให้ Class ลูกไปเขียนขั้นตอนการทำงานเอง เช่นสัตว์ประเภทต่างๆ ที่มีการทำงานที่เหมือนกัน ถูกนำมาใช้กรณีออกแบบ Class ที่อยู่ในกลุ่มเดียวกัน แต่มีการทำงานที่ไม่เหมือนกัน เช่น นกกับเครื่องบิน สามารถบินได้เหมือนกัน แต่บินด้วยวิธีที่ไม่เหมือนกัน
มีแค่กรอบการทำงาน หรือมี Logic เพิ่มเติมได้ มีแค่กรอบการทำงาน
Method 2 แบบ
- Method ที่สามารถเรียกใช้งานได้ทันที
- Method ที่มีเพียงแค่ชื่อ แต่ไม่มีในส่วนของหน้าที่การทำงาน
Method ที่มีเพียงแค่ชื่อ แต่ไม่มีในส่วนของหน้าที่การทำงาน
Method ต้องประกาศ Abstract  Method ไม่ต้องประกาศ Abstract
มี abstract method อย่างน้อย 1 method และส่วนใหญ่จะมี concrete method (เมธอดที่มีส่วนimplementation แล้ว) ทุกๆ Method ของ Interface จะเป็น abstract 
Class ลูก ที่ extends ไม่จําเป็นต้องระบุ Method ที
มีอยูใน Abstract Class ครบทุก Method
Class ลูก ที่ Implement จะต้องระบุ
Method ที่มีอยูใน Interface ให้ครบทุก
Method
Class ลูกจะต้อง override เฉพาะ Method ที่เป็น abstract เท่านั้น Class ลูกจะต้อง override ทุก method ใน Class ลูก เพราะเป็น abstract ทั้งหมด
Class ลูก สามารถ extends ได้เพียง 1 Class Class ลูกสามารถ Implements ได้มากกว่า 1 Class

No comments:

Post a Comment

เชื่อม SQL Server บน VMWare ผ่าน SQL Server Management Studio ที่เครื่อง Client

หากติดตั้ง SQL Server ต่างเครื่องคอมพิวเตอร์ที่เราต้องการ Develop จะต้อง Set ค่าเพิ่มเติมผ่าน SQL Server Configuration Server ด้วย เพราะไม...