かずきのBlog@hatena

すきな言語は C# + XAML の組み合わせ。Azure Functions も好き。最近は Go 言語勉強中。日本マイクロソフトで働いていますが、ここに書いていることは個人的なメモなので会社の公式見解ではありません。

moduleとclass

なんか一緒っぽい。
本にも、継承ツリーに入るみたいなこと書いてあった。
実験だ!!

class Base
    attr_accessor :base
    
    def initialize base = "default base"
        puts "Base::initalize"
        self.base = base
    end
end

class Drived < Base
    def initialize
        super
    end
end

d = Drived.new
puts d.base

module Base
    attr_accessor :base
    
    def initialize base = "default base"
        puts "Base::initalize"
        self.base = base
    end
end

class Drived
    include Base
    def initialize
        super
    end
end

d = Drived.new
puts d.base

を動かしてみた。

実行結果はどちらも

Base::initalize
default base