0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

今日の学習

Posted at

##やったこと
・クラスメソッドについて
・オブジェクトについて
・継承について
##学んだこと
ruby クラス使い方
→メソッドなどの処理などを入れる箱のようなもの.
この入れ物のなかに処理を書くのが基本。

qiita.rb
# Stringという型(クラス)の値をnewで作成し変数whoへ代入
who = String.new("jobs")
 
#whoにはString型の値が入っている
p who

上記はStringクラスからnewしてString型の値を作成し、変数whoへ代入している。
そしてp whoでwhoの中身の値を表示している。

実行結果

"jobs"

次のクラスはUserクラスの型からnewしてUserクラスの値を作成し、変数userに値を代入している。

qiita.rb
Userという型(クラス)の値をnewで作成し変数userへ代入
user = User.new
 
userにはUser型の値が入っている
p user  A
 
user.name = "user"
p user.name (B)

実行結果

0x00007fbde51ca2f0>
”user"

実行結果(A)の出力結果が得られている。この場合Rubyのクラスの表示方法として決められている定型フォーマットに沿った何かしらのクラスであるという意味のUser:0x00007fbde51ca2f0という表示になっている。

(B)は、Userクラスのメソッドの出力である。

・クラスとインスタンス
クラスには処理を書いていくが、実際に処理を行うときはクラスからインスタンスというものを生成して、処理を行わせる。インスタンスの生成には「new」メソッドを使用する。

class User
  def name
    @name
  end

  def name=(name)
    @name=name
  end

end

user = User.new
user.name="yutaka"
p user.name

実行結果

"yutaka"

このようにクラスを使うときは基本的にnewメソッドを使用してインスタンスを生成して処理を行うことを特に意識しておく。

☆よく言われる例としてはクラスがたい焼きの型、インスタンスがたい焼きなどと言われる。
つまりクラスからインスタンスが生成されといったイメージが大切。
またインスタンスはそれぞれ独立して値を持つことができる。

class User
  def name
    @name
  end

  def name=(name)
    @name = name
  end

end

user1 = User.new
user2 = User.new
user1.name = "yutaka"
user2.name = "hanako"
p user1.name
p user2.name

実行結果

”yutaka”
   "hanako"

・クラスの継承
あるクラスの定義を他のクラスの処理に引用すること。

##補足教材
・クラスのinitializeについてhttps://www.sejuku.net/blog/21170
・ruby クラス使い方まとめ https://www.sejuku.net/blog/15328
https://www.youtube.com/watch?v=cLD2I5QvrCU

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?