D言語のクラスは閉じている?
以下のようなコードをコンパイルするとエラーになる。
たぶんクラスは閉じている。
class Hoge{ void hoge(){writelfn("aaaa");}; } class Hoge{ void hoge(){writelfn("bbbb");}; }
Rubyで上記と同等のコードだとこんなかんじ。
これで問題なく動作する。
class Hoge def hoge puts "aaaa" end end class Hoge def hoge puts "bbbb" #=>ここが実行される end def foo puts "cccc" #=>当然新しいメソッドの追加も可能 end end
なのでRubyだと既存クラスの拡張が簡単なんだけど、D言語だとどうするんだろう。
継承して機能を追加するかテンプレートを使うのかな?