オブジェクト指向プログラミング
オブジェクト指向プログラミングの基本的な考え方
「オブジェクト指向プログラミングでは、極力インスタンス変数を使ってそのインスタンス自身に処理させる」
インスタンスが個別に持つ情報を利用してインスタンスメソッドを呼び出して処理する。という書き方が基本。
例)
class Book def initialize(book_title) @book_title = book_title end def favorite_book puts "#{@book_title}が好き" end end goldenkamui = Book.new("goldenkamui") goldenkamui.favorite_book
クラスとインスタンスの使い分け
クラス変数とインスタンス変数
例えば「表紙」という属性はBookに共通する内容なのでクラス変数(もしくは定数)がふさわしい。 一方、「ページ数」という属性はインスタンスによって違うのでインスタンス変数がふさわしい
クラスメソッドとインスタンスメソッドの使い分け
「まずはインスタンスメソッドで実現できないか?」を考える。