Trung BìnhC# iconC#

Abstract class và interface khác nhau như thế nào?

Abstract class có constructor, fields, và có thể mix abstract/concrete methods.

  • Interface (trước C# 8) là pure contract chỉ chứa abstract members.
  • Một class chỉ kế thừa được một abstract class nhưng có thể implement nhiều interface.
  • Dùng abstract class khi cần chia sẻ behavior chung; dùng interface khi định nghĩa contract cho nhiều type không liên quan nhau.
  • Từ C# 8+, interface có thể có default method implementation, nhưng abstract class vẫn giữ lợi thế với constructor và fields.

Xem toàn bộ C# cùng filter theo level & chủ đề con.

Mở danh sách C#