クラスとは

オブジェクト指向でプログラミングを行う場合、一番基本となるのがクラスです。ここでは Ruby におけるクラストはどのようなものかを解説します。

(Last modified: )

クラスとは

クラスは次のようなものです。

class Car
  def initialize(carname)
    @name = carname
  end

  def dispName
    puts(@name)
  end
end

オブジェクト指向でないプログラムでは行いたい処理を順に列挙していきますが、オブジェクト指向ではまず何かを行う物体の設計図を作成し、設計図から物体(オブジェクト)を作成し、その物体に処理をさせます。

クラスは物体(オブジェクト)を作成する元になる設計図です。つまり作成する物体はどのようなものなのかを定義するわけです。

先ほどの簡単な例では車を作るためのクラスを定義しました。定義したクラスからインスタンスを作成し、そのインスタンスに実際の処理をさせます。

サンプル

まずは簡単なサンプルを実行してどのように使うのかを確認してみましょう。

# encoding: UTF-8

class Car
  def initialize(carname)
    @name = carname
  end

  def dispName
    puts(@name)
  end
end

car = Car.new("crown")
car.dispName

上記を実行すると次のように表示されます。

クラスとは何か

今回のサンプルでは「車」の設計図であるクラスを定義し、クラスからインスタンスを作成した後で、インスタンスに対して名前を画面に出力させています。

インスタンスとオブジェクトの違い

インスタンスとオブジェクトの違いについても簡単にご説明します。クラスというのは設計図と書きましたが、その設計図を元に実際に作成したものがインスタンスです。車の設計図を基に実際に製造した車の一台一台がインスタンスとなります。

ではオブジェクトとは何かというと、インスタンスもオブジェクトの一つです。特にクラスを元に作成したオブジェクトのことをインスタンスと呼んでいます。車の設計図を基に実際に製造した車の一台一台はインスタンスでもありオブジェクトでもあります。

クラスを元に作成したものはインスタンスと呼んでもオブジェクトと呼んでも間違いではありませんが、このカテゴリではインスタンスと呼ぶようにしています。

-- --

Ruby におけるクラストはどのようなものかを解説しました。

( Written by Tatsuo Ikura )

Profile
profile_img

著者 / TATSUO IKURA

プログラミングや開発環境構築の解説サイトを運営しています。