【发布时间】:2015-11-17 01:29:03
【问题描述】:
在 Ruby 中是否可以使用类方法实例化不同类的另一个对象?
我花了很多时间研究 Google、Ruby 文档和 Stack Overflow 以找到我的查询的答案,但无济于事,所以我将这个问题作为最后的手段发布。
两个类,User 和 Blog。在下面的 User 中,我正在尝试为 Blog 创建一个对象的新实例,并继承一些属性。
在 User 类中有 2 个方法;
class User
attr_accessor :blogs, :username
def initialize(username)
self.username = username
self.blogs = []
end
def add_blog(date, text)
self.blogs << [Date.parse(date),text]
new_blog = [Date.parse(date),text]
Blog.new(@username,date,text)
end
end
使用上面的 add_blog 我想初始化一个新对象并将其发送到 Blog 类。
class Blog
attr_accessor :text, :date, :user
def initialize(user,date,text)
user = user
date = date
text = text
end
end
【问题讨论】:
-
如果实例化一个用户对象: harry = User.new("harry1") - 将 harry.user 结果放入:#<0x007fdc530c2f60>0x007fdc530c2f60>