base: chỉ cho phép extend, không cho implement—dùng khi muốn chia sẻ logic implementation nhưng kiểm soát interface. interface: chỉ cho phép implement, không cho extend—dùng khi muốn định nghĩa contract API. final: cấm cả extend lẫn implement—dùng để "đóng" class hoàn toàn. Các modifier này enforce ý định kiến trúc ngay ở compile-time, ngăn việc dùng sai inheritance.
Ví dụ: base class Animal {} — class khác chỉ có thể extend, không thể implement trực tiếp.
base allows extending but not implementing; interface allows implementing but not extending; final forbids both. They enforce architectural intent at compile-time, preventing inheritance misuse.
Example: base class Animal {} — other classes can only extend it, not implement it directly.