プログラミングRuby第2版言語編第3章

コンストラク

  • = initialize メソッド
  • ClassName.new などして新しいオブジェクトを作成するときに呼ばれる

super

  • 呼び出し元メソッドと同じ名前の親クラスのメソッドを呼び出す
  • 引数指定もおkよ!

継承

  • (書き方)class SubName < SuperClass
  • クラスを作るときに親クラスを指定しないと Object クラスが継承される
  • Ruby は単一継承であるけれども mixin の機能があるので多重継承を実現している、詳しくはまた後の章で!
  • もったいぶりやがって
  • たしか Java はインタフェースで実現してたんだっけ

アクセサメソッド

  • セッタ&ゲッタ
    • attr_accessor :mercury_lampe, :kanarienvogel
  • ゲッタ
    • attr_reader :jade_stern, :lapislazuri_stern
  • セッタ
    • attr_writer :reiner_rubin

クラス変数・クラスメソッド

  • クラス変数
    • @@kleine_beere = 'Die Siebte Puppe'
    • あんまり関係ないけど定数は大文字で始める
  • クラスメソッド
    • 書き方は3種類ほど紹介されてたけど、たぶん僕が今のところ使いそうなのが self.method_name
class Yurufuwa
  def self.Aisare
  end
end

アクセス制御

例によって

  • public
  • protected
  • private

の3種類。デフォルトは public。
制御の書き方は2種類紹介されていたけど、個人的にはインデントが深くならないという点で以下が好み。

class Hogere
  private :unk
  public :oc5
  def unk
    "u-u-"
  end
  def oc5
    p "si-si-"
  end
end