目次
- オブジェクト
- クラスとは
- インスタンスとは
- メソッドとは
- メソッドの使い方
- メソッドの種類
オブジェクトとは
⇨データを表現するための単位をオブジェクトという。 例 print(“Hello Ruby”) データ=””で囲われたもの ”Hello Ruby”がデータ(オブジェクト)である。 魚を数えるとき1匹2匹って数える データを数えるとき、1オブジェクト(Hello Ruby)2オブジェクト(Hello Ruby)みたいな感じで表現する。
クラスとは
⇨オブジェクトの種類 を表すものをクラスという オブジェクトがどのような性質を持つかはオブジェクトが属するクラスによって決められる 例 ポケモンで例えると オブジェクト=ある同じタイプのポケモン名 クラス=ポケモンのタイプ 例
インスタンスとは
⇨オブジェクトと同じ意味 例 ❌❌クラスのオブジェクトのことを『❌❌クラスのインスタンス』という。rubyではすべてのオブジェクトは何かのクラスのインスタンス。stringクラスのオブジェクトのことをstringクラスのインスタンス
例 print(“Hello Ruby”) ()⇦括弧内がオブジェクト 種類は文字列のオブジェクト どうやってオブジェクトの種類を見分ける? ⇨文字が””で囲われていたら文字列のオブジェクト ⇨””なし数値のオブジェクト
メソッドとは?
⇨オブジェクトを扱うための手続き print()がメソッド メソッドの役割⇨数値を使って足し算や掛け算をしたり文字列同士を繋げたりなど print()の意味は()内のオブジェクトを表示してっていう手続き。 print()の()は省略してprint ”Hello Ruby”としても良い
メソッドの使い方
オブジェクト.メソッド名(引数1,引数2,) このときのオブジェクトをレシーバと呼ぶ。 理由メソッドを実行することを『オブジェクトにメッセージを送る。』その結果として『オブジェクトはメッセージを受け取る(receiveする)』と考えるからこの名前がついた。メッセージと共に引数(パラメータという)もオブジェクトに送られるイメージ 
メソッドの種類
①インスタンスメソッド ②クラスメソッド ③関数的メソッド
①インスタンスメソッド ⇨最も一般的なメソッド メソッドの使い方で説明した オブジェクト.メソッド名(引数1,引数2,)この形のメソッドの使い方をインスタンスメソッド メソッドごとの見分け方インスタンスメソッドはオブジェクトレシーバの役割を果たす。 例 p”1,2,3,4”.split(“ , ”) #=> [“1”, ”2”, “3”, “4”] p 1000.to_s #=> “1000” 上から文字列、数値の各オブジェクトがレシーバになっている オブジェクトに対してどのようなインスタンスメソッドが使えるかは、そのオブジェクトの種類(クラス)によって決められます。
②クラスメソッド レシーバがクラスそのものだった場合そのメソッドはクラスメソッドおいう。インスタンスを作るときにクラスメソッドは使われる。 例 Array.new ⇨新しい配列を作る FIle.open(“same_file”)→新しいファイルオブジェクトを作る クラス名.メソッド→クラスメソッド クラス名は自分でつけることもできるし上のクラスとはの時にしたクラス名も使える。
③関数的メソッド ほんまはレシーバあるんやけど省略してるからないように見える=レシーバを必要としないメソッドを関数的メソッドという 例 メソッドとはで紹介したprintメソッドとかを関数的メソッドと言いう 例 print “hello”とか