Tôi chỉ đang học lập trình và đã quyết định dùng thử Ruby. Tôi chắc rằng đây là một câu hỏi ngu ngốc, nhưng người hướng dẫn đang nói về phương pháp setter và getter, và tôi bối rối. Đây là ví dụ:
class Human
def noise=(noise)
@noise = noise
end
def noise
@noise
end
end
Từ điều này, lớp được khởi tạo và tôi có thể đưa ra điều này:
man = Human.new
man.noise=("Howdie!")
puts man.noise
Kết quả này trong Howdie!
Bây giờ điều làm tôi bối rối là người hướng dẫn đang nói nếu không có phương thức getter (phương thức thứ 2 trong số hai phương pháp) thì không có cách nào để tương tác với biến cá thể @noise.
Nhưng khi tôi xóa phương thức getter, tôi vẫn có thể truy cập @noise, hãy xem ví dụ:
class Human
def noise=(noise)
@noise = noise
end
end
man = Human.new
puts man.noise=("Howdie!")
Điều này hoạt động giống như khi phương thức getter mà nó sử dụng.
Nên bây giờ tôi đang bối rối. Tại sao cần có getter? Người hướng dẫn có nghĩa là gì khi không thể truy cập biến cá thể mà không có nó? Có khả năng anh ta đang sử dụng phiên bản Ruby cũ hơn không?
Cảm ơn trước sự giúp đỡ của bạn.