37日目。Rubyでクラスの継承など。
クラスの継承
RubyⅢ(8分)
RubyⅣ(18分)
やっばりちょっと難しいですね・・・。
2周目だけどてこずりました。
クラスの継承
class Food < Menu
end
継承されるもの
親クラスのインスタンスとメソッド
子クラスにインスタンスを追加
クラス継承のところでattr_accesso
にて追加できる。
class Food < Menu
attr_accessor :calorie
end
子クラスにメソッドを追加
同様に、クラス継承のところでdef
にて追加できる。
class Food < Menu
attr_accessor :calorie
def calorie_info
return "#{self.name}は#{self.calorie}kcalです"
end
end
メソッドのオーバーライド(上書き)
子クラスと親クラスに同じ名前のメソッドがある場合、子クラスが優先される。
親クラスの同名のメソッドを呼び出す(super)
super(name: name, price: price)
日付を扱う(Dateクラス)
Rubyにて事前定義済みなので呼ぶだけでいい
# requireを用いて、Dateクラスを読み込んでください
require "date"
# 変数birthdayに、Dateクラスのインスタンスを代入してください
birthday = Date.new(2019,5,1)
# 変数birthdayをputsしてください
puts birthday
# 変数birthdayにsunday?メソッドを用いた結果をputsしてください
puts birthday.sunday?
# 変数todayに、Date.todayの戻り値を代入してください
today =Date.today
# 変数todayをputsしてください
puts today
# 変数todayに対してsunday?メソッドを用いた結果をputsしてください
puts today.sunday?
クラスメソッド
Date.today
のようちクラス名に対して呼び出すメソッドのこと
class A
def A.B?
end
end
インスタンスメソッドの中でクラスメソッドを呼び出す
class A
def B
if A.C
end
end
end
A.C
完成!
さらに頭がこんがらがっています。
インスタンスメソッド、クラスメソッド。
よく似ていますよね。。。実際どうやって使い分けるんでしょう。
アルゴリズム体操ですかね。。。
(所要時間 52分)
(2周目 21分)
Author And Source
この問題について(37日目。Rubyでクラスの継承など。), 我々は、より多くの情報をここで見つけました https://qiita.com/robamimim/items/7a39315f0760b368b4f4著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .