Sự khác biệt giữa extend
v...
Sự khác biệt giữa extend
v...
Trong Ruby, extend
và include
là hai phương thức được sử dụng để kết hợp các module với các lớp, nhưng chúng hoạt động khác nhau:
include
Khi sử dụng include
để thêm một module vào một lớp, các phương thức của module đó trở thành phương thức instance của lớp đó. Điều này có nghĩa là bạn có thể gọi các phương thức của module từ một instance của lớp. Khi một module được include
, nó được thêm vào chuỗi tổ tiên (ancestors chain) của lớp ngay sau lớp đó và trước superclass của lớp đó
extend
Phương thức extend
thêm các phương thức của một module vào lớp như là các phương thức lớp (class methods). Khi một module được extend
, các phương thức của nó được thêm vào chuỗi tổ tiên của singleton class của lớp đó, cho phép các phương thức được gọi trực tiếp từ lớp mà không cần một instance
mo...
expert
Gợi ý câu hỏi phỏng vấn
Chưa có bình luận nào