Avatar
1
Nguyễn Thái Sơn Professional
Nguyễn Thái Sơn Professional
vì sao dùng interface thay vì abstract class
Anh ơi, vì sao các layer ví dụ như controller và service cần giao tiếp nhau thông qua interface. Tại sao k dùng abstract class ạ. Ví dụ ta thường có IBookService rồi tiêm vào class controller mà k dùng abstract class ạ. Ở đây class chỉ implent 1 interface nên có thể dùng abstract class được mà
  • Answer
interface abstract class
Remain: 5
1 Answer
Avatar
tvd12 Professional
tvd12 Professional
có mấy lý do em ạ:

  1. Trong java không cho phép đa thừa kế, nhưng cho phép implements nhiều interface nên nếu giả sử lớp service của anh thế này:

class BookService extends CommonService, AbstractBookService {}

Thì sẽ không được. Như vậy thì sử dụng interface sẽ mềm dẻo hơn.

  1. Dùng interface cũng code ngắn gọn hơn, bởi vì abstract class phải khai báo thêm public cho hàm public và thêm từ khoá abstract thì mới không bị lỗi nên nó khá là dài dòng.
  • 0
  • Reply