LoginSignup
0
0

More than 1 year has passed since last update.

100日後くらいに個人開発するぞ!day053

Last updated at Posted at 2022-07-10

今日はクラスとインスタンスの復習をしてみた!

image.png

Ruby学習レッスンIVコースを修了!

image.png

今日の備忘録

クラス

  • プログラムの設計図をクラス、生成されるものをインスタンスという
  • インスタンスを生成するステップ
    • クラス(設計図)を用意する
    • クラスからインスタンスを生成する
    • インスタンスに情報を追加する
  • クラスは「class クラス名」で定義できる
    • クラス名は必ず大文字で始める
    • 「end」を書く必要がある

インスタンス変数

  • クラスのインスタンスの変数をインスタンス変数という
    • 例:Menuクラスにnameというインスタンス変数を設定する場合
      • class Menu
      • attr_accessor :name
      • end
  • 1つのクラスに対して複数のインスタンス変数を用意できる
      • class Menu
      • attr_accessor :name
      • attr_accessor :price
      • end

インスタンス

  • 新しくインスタンスを作成するには「クラス名.new」とする
  • 「変数名=クラス名.new」とすることで生成したインスタンスを変数に代入することができまる
    *「インスタンス.変数名=値」とすることでインスタンス変数に値を代入することできる

クラスの中で定義したメソッドの使い方

  • クラスの中でメソッドを定義でき、「インスタンス.メソッド名」で呼び出せる
      • class Menu
      • attr_accessor :name
      • attr_accessor :price
      • def show
      • puts "私はメニューです"
      • end
      • end
      • menu1 = Menu.new
      • puts menu1.show
  • インスタンスメソッドも引数を受け取ったり戻り値を返すことができる
      • class Menu
      • attr_accessor :name
      • attr_accessor :price
      • def show(data)
      • return "私は#{data}です"
      • end
      • end
      • menu1 = Menu.new
      • puts menu1.show("メニュー")

インスタンスメソッドの中でインスタンス変数を使う方法

  • インスタンスメソッドの中で「self.変数名」を使うことでインスタンス変数を使える
      • class Menu
      • attr_accessor :name
      • attr_accessor :price
      • def show_name
      • return "私は#{self.name}です"
      • end
      • end
      • menu1 = Menu.new
      • menu1.name = "ピザ"
      • menu1.show
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0