Rubyについて5

はじめに

今回もRubyについて復習していこうと思います!

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

クラスについて

クラスは、値の元となるものです!値の共通のルールを定義します!

ここで決めるルールは、共通の属性と処理です!

クラスは、実態は持ちません!(設計図の様なものです)

このクラスの利点としては、共通の情報をまとめ、個別の情報は各データごとに分けることで、開発・管理・保守がしやすいという点があります!

以下の様な記述をします!

class Fishing
end

インスタンス

インスタンスとは、クラスを元にして作られるデータのことです!

インスタンスは、クラスと異なる点としては実態を持ちます!

インスタンスは、クラスが使用できるnewメソッドを実行して生成します!

以下の様な感じで記述します!

class Fishing
end

fishing_maker = Fishing.new

多くの場合、インスタンスを生成したら、再利用するために変数へ代入します!

これは、インスタンスを生成した後からデータを追加したり、メソッドを実行できる様にするためです!

クラスメソッドとインスタンスメソッドについて

インスタンスメソッドについて

インスタンスメソッドとは、インスタンスが使用できるメソッドです!

これは、クラスに定義しておきます!

これによって、インスタンスメソッドを定義したクラスから生成されるインスタンスが使用できます!

インスタンスメソッドは、インスタンスごとの個別の情報を使った処理の使用します!

以下の様に記述します!

class Fishing
   
   def fishing_tool()
   end

end

fishing_maker = Fishing.new()

属性と属性値について

属性は、データの性質となる情報のことです!

それぞれに当てはまる値を属性値と言います!

この様な個別の情報となる属性の定義には、インスタンス変数を用います!

インスタンス変数について

インスタンス変数とは、データが持つ属性を定義する変数のことです!

定義しておくことで全てのインスタンスが同じ属性を持つことになりますが、その属性値は、個々のインスタンスによって別々に設定できます!

以下の様に記述します!

class Fishing
   def fishing_tool(fishing_rod)
       @fishing_lure = fishing_lure
   end
end

fishing_maker = Fishing.new()
fishing_maker.fishing_lure("Rapala")

クラスメソッドについて

クラスメソッドとは、クラスが使用することができすメソッドです!

クラスメソッドを定義したクラス自身が使用できます!クラスで共通の情報を使った処理に使用します!

以下の様に記述します!

class Fishing

   def self.fish
      puts '釣りをします'
   end

   def fishing_tool(fishing_lure)
       @fishing_lure = fishing_lure
   end

end

fishing_maker = Fishing.new()
fishing_maker.fishing_tool("Rapala")

Fishing.fish

ちょっと長くなりましたが、簡単なものを書くとこんな感じです!

initializeメソッドについて

インスタンスが生成された瞬間に、生成されたインスタンスが実行する処理を定義するインスタンスメソッドのことです!

Rubyのクラスから生成される全てのインスタンスにはこのinitializeメソッドが用意されており、クラスに何も記述しなくてもinitializeメソッドは自動で実行されています!この場合は異本的には何も処理を行いません。

もし、インスタンス生成時に何か処理を行いたい場合は、新たにinitializeメソッドを定義して処理を記述してあげないといけません!

以下の様に記述します!

def initialize(name, user, item)
  @name = name
  @user = user
  @item = item

星野涼太
ルアー釣りを本格的に初めて4年目です!世界各国の魚を釣ることを目標に釣りをしています!その時得られた情報をこのブログできょう共有しています!
ryota hoshinoをフォローする
未分類
スポンサーリンク
ryota hoshinoをフォローする
hoshino9796
ryota hoshinoをフォローする
駆け出しSEの釣り日記

コメント

タイトルとURLをコピーしました