うにうにてぃ プログラム初心者のブログ

備忘録。プログラミングについて学ぼうと思い、せっかくなのでプログラミング専用のブログを作ってみました。

プログラム初心者の僕が「恋するプログラミング -Rubyでつくる人工無能- 」を読んで勉強してみた ③

みなさんこんばんは。いや。おはようですかね?

本日は、1日20ページと決めていた勉強の予定を守ることができませんでした。

しかし、それにはオブジェクト指向を理解するための必要な知識を得るという、もっともな理由がありました。なので、今回はその学んだ内容の復習になります。

 

今回学んだ(重要な)こと。chapter 2-6

「オブジェクト・クラス・インスタンス」はオブジェクト指向を理解するにおける、重要な役割を担っている概念みたいなので、

しっかり覚えようと、今回は、クラス・インタンス、オブジェクトについて詳しく調べてみました。

まず、クラスとインスタンスについて、これは2つ一緒に覚えた方が良いので、まとめて説明します。クラスとは、設計図のようなもので、それを複製することにより、いくつでもクラス(設計図)をもとにした、インスタンスを作ることができます。そして、実際に処理の役割を担うのが、このインスタンスです。

f:id:realboot:20181204033209p:plain

クラス、インスタンスについて

あまり、車種については詳しくありませんが、図でイメージを掴んでいただけましたか・・・?

掴めなかった場合は以下の

class User
initialize(name
@name = name
end

def put_name
p @name
end
end

user1 = User.new("taroo")
user2 = User.new("hanako")
user1.put_name  => “taroo”
user2.put_name => “hanako”

 

クラスの概念を理解しよう!Rubyのclassとは | TechAcademyマガジン

コードを用いた説明がとてもわかりやすかったので、こちらも紹介しておきます。

 

 ついでに、インスタンス変数について、インスタント変数はクラス内の全メソッドで使用でき、クラスから作成されるオブジェクト毎に固有のものになります。

インスタンス変数の変数名は@からはじまります。

またまたついでになりますが、インスタンスメソッドやクラスメソッドなどについても知る事ができ、その説明が分かりやすかったので、そちらも紹介です。説明割愛以下参照

qiita.com

 

そして、最後に「オブジェクト」についてなのですが、オブジェクトはそもそも変数とメソッドをまとめて、そのまとまりに名前をつけたものです。

Rubyにおいての「オブジェクト」はなんらかのクラスのインスタンスのことを指します。Rubyではすべてのデータがオブジェクトなので、みなさん知らずの間にオブジェクトを使用していたのです。

 

解説は以下のページを参考にしました。

概念を理解!Rubyのオブジェクトとは【初心者向け】 | TechAcademyマガジン

 

それでは今日はこのへんで、おやすみなさい。またあした。

 

 

今回学んだ用語集

比較演算子において

・真 ・・・偽以外のすべて

・偽 ・・・falseとnil

・クラス名は大文字から始める。

よって0や文字列も真となります。

・配列・・・複数のオブジェクトをまとめて定義できる。また、配列にあるオブジェクトひとつひとつを「要素」という。https://wa3.i-3-i.info/word11926.html

 

・each : 配列、範囲オブジェクト用メソッド で順に要素をとりだしていく。