Rubyオブジェクト指向で料金表と料金シミュレーターを作りたい
解決したいこと
Rubyで適切なクラスを作成し、料金表をオブジェクト指向で作りたい。
作成した表から、時間帯(9~21)、月(1~12)、区分ごとの人数を入力して合計金額をシミュレートしたい。
Rubyで料金表を作成しようと思っています。
オブジェクト指向、エンジニア初心者なので、どのようなクラスが必要になるか
参考になるページや自分なら何クラスを作成するか教えてください。
作りたい料金表
区分 | 通常料金 | 夏季(7,8月) | 夕方(17時以降)料金 | 団体利用料金 |
---|---|---|---|---|
大人 | 830 | 1120 | 620 | 730 |
シルバー(65歳以上) | 620 | 710 | 520 | 520 |
学生 | 410 | 500 | 310 | 310 |
3歳以上 | 310 | 400 | 0 | 200 |
2歳以下 | 0 | 0 | 0 | 0 |
子供*同伴の大人 | 620 | 830 | ||
シルバー同伴の大人 | 620 | 830 |
- 夕方になれば、時期に関係なく夕方料金が適用される
- *子供は3歳以上と学生区分
- 子供またはシルバーと来た大人は全員同伴料金になる
実装イメージ
自分で試したこと
オブジェクト指向がまだ全然わかっていないのでこれクラスっぽそう?てやつを雰囲気で書いてみました
print "時間の入力:"
time = gets.to_i
print "利用月の入力:"
month = gets.to_i
# 計算クラス
class Culcs
# property
def initialize(time,month)
@time,@month = time,month
end
# method
# 17時以降かどうか
def checkTime(time)
if time >= 17
#夕方料金をセット
end
end
# 夏季料金かどうか
def checkMonth(month)
if month == (7..8)
#夏季料金をセット
end
# 20人以上かどうか
def checkNum(num)
if num >= 20
#団体料金をセット
end
def sum
sum = price1 + price2 + price3 + price4 + price5
end
end
# ヒトクラス
class Humman
# property
# method
end
# 大人クラス
class Adults < Human
def initialize
price1 = adult.price * num
end
# シルバークラス
class Silvers < Human
price2 = silver.price * num
end
# 学生クラス
class Students < Human
price3 = student.price * num
end
# 子供クラス
class Children < Human
price4 = child.price * num
end
# 幼児クラス
class Infants < Human
price5 = infant.price * num
end
# 料金クラス
class BasicPrice
# 通常料金
end
# 夏季料金クラス
class SummerPrice < BasicPrice
# 夏季料金
end
# 団体料金クラス
class GroupPrice < BasicPrice
# 団体料金
end
puts "お支払合計は#{sum}円です"
0