tôi vẫn không thể tìm ra cách để làm cho một constructor lớp con theo mẹ của nó ...
dụ:Thừa kế phương thức khởi tạo() trong ruby?
require 'mechanize'
class Scraper
attr_accessor :agent
def initialize
# I dont know if using instance variable is the right thing to do
@agent = Mechanize.new
end
end
class ScraperA < Scraper
end
Tôi muốn làm ScraperA
theo hành vi constructor mẹ,
đó là khởi tạo đối tượng Cơ chế mà không cần tôi gõ lại Mechanize.new
trong Phương thức khởi tạo ScraperA(). Điều này có thể không?
Chỉ muốn tuân theo nguyên tắc DRY nhưng ruby gây khó khăn cho tôi ???
Hy vọng không, có lẽ đó chỉ là sự thiếu hiểu biết của tôi. Mong chờ giải pháp đơn giản, Tnx.
Edit:
nó quay ra rằng tôi đã có phương pháp() trong ScraperA, mà ghi đè lên khởi tạo mặc định khởi tạo rỗng(). Vì vậy, vâng ví dụ đang hoạt động, bởi vì không có phương thức khởi tạo trống ở đó. Xin lỗi vì sự ngu ngốc của tôi. Tnx.
Mã của bạn hoạt động như bạn muốn. Nếu bạn đã thử chạy mã đó chính xác, có thể là do bạn đang sử dụng phiên bản ruby lỗi thời. – Adrian
@Adrian: Tôi không nghĩ có bất kỳ phiên bản ruby nào không hoạt động. – sepp2k
Tại sao điều này đóng lại là 'Quá địa phương hóa'? – 0112