プログラム初心者の僕が「恋するプログラミング -Rubyでつくる人工無能- 」を読んで勉強してみた ③
みなさんこんばんは。いや。おはようですかね?
本日は、1日20ページと決めていた勉強の予定を守ることができませんでした。
しかし、それにはオブジェクト指向を理解するための必要な知識を得るという、もっともな理由がありました。なので、今回はその学んだ内容の復習になります。
今回学んだ(重要な)こと。chapter 2-6
「オブジェクト・クラス・インスタンス」はオブジェクト指向を理解するにおける、重要な役割を担っている概念みたいなので、
しっかり覚えようと、今回は、クラス・インタンス、オブジェクトについて詳しく調べてみました。
まず、クラスとインスタンスについて、これは2つ一緒に覚えた方が良いので、まとめて説明します。クラスとは、設計図のようなもので、それを複製することにより、いくつでもクラス(設計図)をもとにした、インスタンスを作ることができます。そして、実際に処理の役割を担うのが、このインスタンスです。
あまり、車種については詳しくありませんが、図でイメージを掴んでいただけましたか・・・?
掴めなかった場合は以下の
class User
initialize(name
@name = name
enddef put_name
p @name
end
enduser1 = User.new("taroo")
user2 = User.new("hanako")
user1.put_name => “taroo”
user2.put_name => “hanako”
クラスの概念を理解しよう!Rubyのclassとは | TechAcademyマガジン
コードを用いた説明がとてもわかりやすかったので、こちらも紹介しておきます。
ついでに、インスタンス変数について、インスタント変数はクラス内の全メソッドで使用でき、クラスから作成されるオブジェクト毎に固有のものになります。
インスタンス変数の変数名は@からはじまります。
またまたついでになりますが、インスタンスメソッドやクラスメソッドなどについても知る事ができ、その説明が分かりやすかったので、そちらも紹介です。説明割愛以下参照
そして、最後に「オブジェクト」についてなのですが、オブジェクトはそもそも変数とメソッドをまとめて、そのまとまりに名前をつけたものです。
Rubyにおいての「オブジェクト」はなんらかのクラスのインスタンスのことを指します。Rubyではすべてのデータがオブジェクトなので、みなさん知らずの間にオブジェクトを使用していたのです。
解説は以下のページを参考にしました。
概念を理解!Rubyのオブジェクトとは【初心者向け】 | TechAcademyマガジン
それでは今日はこのへんで、おやすみなさい。またあした。
今回学んだ用語集
比較演算子において
・真 ・・・偽以外のすべて
・偽 ・・・falseとnil
・クラス名は大文字から始める。
よって0や文字列も真となります。
・配列・・・複数のオブジェクトをまとめて定義できる。また、配列にあるオブジェクトひとつひとつを「要素」という。https://wa3.i-3-i.info/word11926.html
・each : 配列、範囲オブジェクト用メソッド で順に要素をとりだしていく。