0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Ruby】Class&インスタンスの理解と活用方法

Last updated at Posted at 2023-11-22

【Ruby】Classとインスタンスの理解と活用方法

Rubyプログラミングにおいて、クラスとインスタンスは非常に重要な概念です。クラスはオブジェクトの設計図のようなもので、インスタンスはその設計図に基づいて作成された具体的なオブジェクトを指します。この記事では、Rubyにおけるクラスとインスタンスの基本的な使い方を詳しく解説していきます。

クラスの定義方法

クラスの基本構造

class クラス名
  # クラスの内容
end

Rubyでは、クラス名は大文字で始める必要があります。クラス内にはメソッドや変数を定義し、オブジェクトの振る舞いや状態を定義します。

インスタンス変数とattr_accessor

class クラス名
  attr_accessor :インスタンス変数名
end

attr_accessorは、インスタンス変数のゲッターとセッターを自動的に定義するメソッドです。これにより、インスタンス変数へのアクセスや変更が簡単になります。

メソッド

class クラス名
    def initialize(変数名)
    @変数名 = 変数名
  end

  def インスタンスメソッド名
    # メソッドの処理
  end
  def クラス名.クラスメソッド名
    # クラスメソッドの処理
  end
end

インスタンスメソッド

インスタンスメソッドは、クラスのインスタンスに対して実行するメソッドです。これにより、オブジェクトの具体的な振る舞いを定義します。

initializeメソッド

initializeメソッドは、インスタンスが作成されたときに自動的に実行される特別なメソッドです。このメソッドでインスタンス変数を初期化したり、他の初期設定を行うことができます。

クラスメソッド

クラスメソッドは、クラスメソッドは宣言時も呼び出し時もクラス名.クラスメソッド名と記述する。クラスメソッドはインスタンス作成前に呼び出せる。インスタンスメソッド内でも使用できる。

インスタンスの作成と利用

インスタンスの作成

インスタンス名 = クラス名.new(引数)

newメソッドを使用してクラスのインスタンスを作成します。必要に応じて引数をinitializeメソッドに渡すことができます。

インスタンス変数への代入

インスタンス名.変数名 = 

attr_accessorで定義したセッターメソッドを使って、インスタンス変数に値を代入することができます。

メソッドや変数の呼び出し

インスタンス名.インスタンスメソッド名
インスタンス名.インスタンス変数名
クラス名.クラスメソッド名

インスタンスに対して定義したメソッドを呼び出すことができます。これにより、オブジェクトの振る舞いを制御することが可能です。

まとめ

Rubyにおけるクラスとインスタンスは、オブジェクト指向プログラミングの基本です。クラスを設計図として、インスタンスを実際のオブジェクトと捉えることで、複雑なプログラムをより管理しやすく、理解しやすい形で構築することが可能になります。この記事で紹介した
基本的な概念とテクニックを理解し、実践してみることで、Rubyプログラミングのスキルを向上させることができます。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?