Boss.cs
class Boss(Employee): # Visitor::ConcreteElement def __init__(self, name, salary, vdays, sdays, bonusDays=None): Employee.__init__(self, name, salary, vdays, sdays) self.bonusDays = bonusDays
def accept(self, v):
source = "v.visit_%s(self)"%self.__class__.__name__
eval(source) ; print source
《Note》参考文献との違い
- 引数の型で処理を選択する代わりに、メソッド名に実行時の型情報を埋め込みます。