Dart nâng cao: OOP, thư viện, cấu trúc điều khiển · Lập trình di động (Flutter) - Mobile Programming
How does `implements` differ from `extends`?
4 phương ánCó giải thích
Các phương án trả lời
Chọn một phương ánLời giảiChọn phương án để mở
Tính từ khóa `implements` và `extends` trong lập trình hướng đối tượng (OOP) có chức năng khác nhau. Khóa từ `extends` cho phép một lớp con kế thừa các thuộc tính và phương thức từ lớp cha. Trong khi đó, `implements` chỉ cho phép lớp con thực hiện các phương thức đã được định nghĩa trong một giao diện (interface). Điều này có nghĩa là khi sử dụng `implements`, lớp con phải định nghĩa lại toàn bộ giao diện mà không được kế thừa bất kỳ phương thức nào từ lớp cha. Ngược lại, khi sử dụng `extends`, lớp con có thể kế thừa các phương thức và thuộc tính từ lớp cha và bổ sung thêm các phương thức mới hoặc thay thế các phương thức đã có. Ví dụ, nếu một lớp cha có phương thức `public void eat()`, lớp con sử dụng `extends` có thể kế thừa phương thức này và bổ sung thêm phương thức `public void sleep()`. Trong khi đó, lớp con sử dụng `implements` phải định nghĩa lại toàn bộ giao diện và không được kế thừa bất kỳ phương thức nào từ lớp cha.