スポンサーリンク
4thのDAY4は「Progate Ruby コース(5章まで)」になります。
これでProgateのRubyコースは完了です。
スポンサーリンク
継承
- あるクラスを元にして新たにクラスをつくることを「継承」と呼ぶ
- 元となるクラスを「親クラス」、新しいクラスを「子クラス」と呼ぶ
- 子クラスは親クラスのインスタンス変数とインスタンスメソッドが引き継がれる
- 親クラスにあるメソッドと同じ名前のメソッドを子クラスで定義するとメソッドを上書きできる。これを「オーバーライド」と呼ぶ
- 「オーバーライド」したメソッドを呼び出すと子クラスのメソッドが呼び出されることになる
- initializeメソッドもオーバーライド可能
- 「クラス名.メソッド名」と定義するものを「クラスメソッド」と呼ぶ
- クラスメソッドはインスタンスを生成せずに使用できる
- クラスメソッドはインスタンスメソッドからも使用可能
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
# 継承 class 子クラス名 < 親クラス名 attr_accesoor :インスタンス変数名1 def initialize(引数1, 引数2, ・・・・) # 親クラスの同名メソッドを呼び出す super(引数1, 引数2, ・・・・) # インスタンス変数に値を代入 self.インスタンス変数名1 = 値 end # クラスメソッドの定義 def クラス名.メソッド名 end end |
日付を扱う
- 日付はRubyが既に用意したある「Dataクラス」を使用する。(「require “date”」)で読み込む
- インスタンス生成時の引数に「年(YYYY)」「月(M)」「日(D)」を指定する
- 生成したインスタンスを出力すると「YYYY-MM-DD」と出力される
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
#Dateクラスの読み込み("./date"でないことに注意が必要) require "date" # インスタンス生成時に「年(YYYY)」「月(M)」「日(D)」を指定する インスタンス名 = Date.new(2019, 10, 31) # インスタンスを出力する。出力結果は「YYYY-MM-DD」となる。 puts インスタンス名 # 日付が日曜日かチェックする。実行結果は真偽値となる。 インスタンス名.sunday? # 今日の日付を取得する。取得できる日付は「YYYY-MM-DD」となる。 インスタンス名.today |
感想・まとめ
オブジェクト指向言語なので、考え方はJavaと同じなので特に苦労はしませんでしたが、プログラミング初心者の方だと理解に苦しむ部分もあるのかなと思いますね。
他のオブジェクト指向言語の経験がある方にとっては、構文の違いだけです。
何はともあれ、ProgateのRubyは終了です。
次はミニツクというサービスを使っての演習なので、特にオブジェクト指向まわりをしっかりと復習しておきましょう。
スポンサーリンク