Hôm nay chúng tôi bắt đầu tuần thứ 2 module 2 bằng 1 bài rất hay và cũng rất dễ nhầm lẫn là Interface & abstract class.
Chúng ta có thể hiểu nôm na:
- abstract class: Khi nhiều class có chung những đặc điểm, hành vi, chức năng nhưng cách thực hiện các hành vi, đặc điểm đó lại khác nhau thì chúng ta sẽ khai báo 1 abstract class có những đặc điểm, hành vi đó. Và 1 abstract class phải có ít nhất 1 abstract method(phương thức trừu tượng) (vấn đề này tôi chưa hiểu tại sao lại cần có ít nhất 1 abstract method?)
- Interface: khi một chức năng nào đó mà nhiều class có thể thực hiện chung nhau nhưng các class đó lại không thể nhóm chung được vào một lớp cha, ví dụ như lớp động vật và lớp phương tiện, cùng có thể chạy, nhưng không thể có chung lớp cha, thì chúng ta sẽ khai báo chức năng đó vào interface, và một class có thể triển khai từ nhiều interface.