プログラム $KCODE="SJIS" class Ningen def initialize(name, shincho) @name = name @shincho = shincho end def eat puts "#{@name}は食べています" end def sleep puts "#{@name}は寝ています" end end
class Tanto < Shain def standup "担当が普通に起立しました" end end
class Shunin < Shain def standup "主任がすばやく起立しました" end end
class Bucho < Shain def standup "部長がだるそうに起立しました" end end
class ShainFactory def ShainFactory.create(yakushoku) case yakushoku when "担当" Tanto.new when "主任" Shunin.new when "部長" Bucho.new else rasise "該当する役職が見つかりません" end end end