2016-01-04 209 views
1

內部類。例如,我有文件list.rb模塊聲明與Ruby的

module List 
class Base 
#... 
end 
end 

所以在外部文件中這個類將作爲List::Base訪問。

比方說,我創建另一個文件list_base_extenstion.rb

我可以這樣做:

module List 
class BaseExtension < Base 
#... 
end 
end 

或者

class BaseExtension < List::Base 
end 

這是平等的嗎?

否則BaseExtension不會被視爲模塊的一部分,而是直接從List::Base繼承?

回答

3

不,它不相等。如果您使用

module List 
    class BaseExtension < Base 
    end 
end 

你定義一個名爲List::BaseExtension類,從List::Base繼承。相反,與

class BaseExtension < List::Base 
end 

你定義一個名爲BaseExtension類,從List::Base繼承。該課程將在List範圍之外定義。