セールで買った参考書を読んだメモ : 独習Ruby on Rails 1,2章
独習Ruby on Rails
- セールしていたので Kindle で買いました
- せっかく買ったので勉強のために読んだメモ取っていきます
オブジェクト指向と Ruby の基本
オブジェクト指向という考え方
オブジェクト指向プログラミングとは
- オブジェクトを設定する
- オブジェクトに必要なロジックをオブジェクト内に閉じ込め、必要な時に呼び出す
- Ruby は扱うもの全てがオブジェクトである
- オブジェクトとは
- ある目的の振る舞いと、名前などの特徴となる固有の値とを持つ
- 必要な時に呼び出される振る舞いを通し、固有の値を利用して目的とする処理を行う
メソッドとカプセル化
- メソッドとは振る舞い
- オブジェクト固有の動作ロジック
- メソッドは、目的の動作に合わせてオブジェクトの中に複数保持することができる
- オブジェクト自身のメソッドをオブジェクトに閉じ込めて隠蔽することをカプセル化と言う
- メソッドを利用する側はロジックを知る必要する必要はなく、メソッドの名前と役割だけ認識できれば良い
- これによりオブジェクト間の関係はシンプルとなる
基本的なRuby文法1 オブジェクト指向
クラスオブジェクト
- Rubyではオブジェクトの型をクラスオブジェクトと呼ぶ
class クラス名 end
NOTE: スネーク型 hello_world キャメル型 HelloWorld
クラス名はキャメル型で命名
インスタンスメソッド
- クラスからインスタンス化されるオブジェクトの固有メソッド
class オブジェクト名 def メソッド名 end def メソッド名 end end
クラスメソッドとインスタンス化
- クラスメソッドはクラスオブジェクトそのものから呼び出すことができる
- new など
def self.メソッド名 end
- プライベートメソッドはクラスの中でのみ実行できるメソッド
private def メソッド名 end
基本的なRuby文法2 変数と定数
変数の種類
$hensu
@hensu
@@hensu
- ローカル変数
- メソッド内でのみ有効
hensu
- 定数
HENSU
- シンボル
- ruby 内で整数値に置き換えて管理されているメソッド名・変数名・定数名・クラス名などをシンボリックな名前で表現する
- メソッド指定のオプションなどで使用する
:hensu
基本的なRuby文法3 ロジックの組み立て
- 比較と演算子
- 処理の基本パターン
- 連接構造
- 分岐構造
- 繰り返し構造
Rubyでオブジェクトを活用する
- インスタンス自身が持っているメソッドを見ることができるメソッド、methods
- あるクラスがどのクラスを継承して作られたかを見るメソッド、superclass
- 親クラスで設定されたメソッドや特性は親クラスで設定されており、それらのメソッドや特性が子へ引き継がれている
- オーバーライドによって親クラスのメソッドを上書き変更することができる
- super を用いると親のメソッドの処理をそのまま実行することができる
- initialize メソッドはクラスがインスタンス化される時に必ず実行されるメソッド
- attr_accessor