クラス、メソッドを一気に理解する
目的
以下のコードを理解することを目的とします。
calss Animal
def setName(str)
@name =str
end
def dispName()
print(@name,"¥n")
end
end
animal = Animal.new()
animal.setName("dog")
animal.dispName()
このコードを実際に実行すると、dogと表示されるはずです。
用語の理解
まずは用語の定義を見ていきます。
クラス:オブジェクト(rubyではデータのことをオブジェクトという)の設計図のこと。定義する際は、頭文字を必ず大文字にします
インスタンス:クラスから作られたオブジェクト。名前の前に@をつけて定義します
メソッド:クラスから作成されるオブジェクトに対して行わせたい処理を記述するもの、命令。例えば、今回出てくるnew
メソッドは、そのクラスのインスタンスであるオブジェクトを作成します。
要は、クラスは設計図であり、実際に何かを行わせるにはクラスからオブジェクトを生成する必要がある、そのクラスに対する動作を行わせているクラスメソッドが用意されている、ということです。
コードの読み取り
さきほどのコードに、一文ずつ意味をコメントしていきます。
calss Animal #Animalという名前のクラスを定義します
def setName(str) #setNameという名前のメソッドを定義します
@name =str #setNameは@nameという名前のインスタンス関数に文字を格納していくメソッドです
end
def dispName() #dispNameという名前のメソッドを定義します
print(@name,"¥n") #dispNameは@name改行、を表示するメソッドです
end
end
animal = Animal.new() #animalはクラスAnimalからオブジェクトを生成する変数です
animal.setName("dog") #animal変数に対してsetNameメソッドが実行され、@nameにdogという文字列が代入されます
animal.dispName() #animal変数に対してdispNameメソッドが実行され、@name(すなわちdog)が表示される