hi e
tại sao lại phải dùng interface mà ko dùng abstract class?
vì
trong java, 1 class chỉ được phép kế thừa 1 class/abstract class.
tuy nhiên, 1 class được phép kế thừa nhiều interface.
và, sẽ có những trường hợp mà e cần sử dụng đa kế thừa
ví dụ
trong lập trình Android
ban đầu, MainActivity kế thừa Activity
để xử lý click event từ user
MainActivity muốn kế thừa thêm View.OnClickListener
nếu View.OnClickListener cũng là 1 class hoặc abstract class, thì compiler sẽ báo lỗi vì quy phạm qui tắc kế thừa của java
như vậy, Android họ implement View.OnClickListener là một interface để hổ trợ cho việc các lớp có thể kế thừa OnClickListener và xử lý click event dễ dàng hơn sau này