Tôi đã đọc trong nhiều sách giáo khoaCác mô-đun == mixin có trong ruby không?
Trong Ruby, một lớp chỉ có thể là lớp con của một lớp. Mixins, tuy nhiên, cho phép các lớp không có tổ tiên chung để chia sẻ các phương thức.
Trong thực tế, bất cứ khi nào tôi cần triển khai đa kế thừa. Tôi đã sử dụng Modules
& không phải mixin. ví dụ:
Module name_goes_here
def method_name_goes_here
.....
end
end
Sau đó, tôi chỉ nghĩ đến họ trong một lớp
class MySubClass < MySuperClass
include module_name
end
bây giờ, tôi đã đề cập đến nhiều sách ruby từng nói về mixins & rồi đột nhiên, tất cả họ bắt đầu nói về module mà không làm cho nó rõ ràng mối quan hệ của mixins là gì & mô-đun.
vì vậy, Câu hỏi là: Các mô-đun == mixin có trong ruby không? nếu có, thì tại sao. nếu không, thì sự khác biệt là gì?
PS: xin lỗi, nếu nó là một câu hỏi ngớ ngẩn
Ngoài mixin, "các ứng dụng khác" của các mô-đun trong ruby là gì? – CuriousMind
@Gaurish Chúng có thể được sử dụng cho các phương pháp đóng gói hoặc đóng gói không thuộc về một lớp để tránh gây ô nhiễm không gian tên chung. –
@AndrewMarshall Cảm ơn, tôi đã thêm đóng góp của bạn vào câu trả lời –