Rubyで顧客管理WEBアプリケーション作ってみます③

Sponsored Link

ruby

前回はto_sメソッドを使って、各インスタンス変数の値を文字列表現として得られるようになりました。

続いて、nameとaddressという属性を個別に扱ったり、属性の値を変更できるようにメソッドを追加します。

属性を個別に扱うためにデータを読み出す操作をゲッター、属性の値を変更するためにデータを書き込む操作をセッターと言います。

それぞれの操作ができるようにゲッターメソッド、セッターメソッドを追加することもできますが、ゲッターとセッターを一度に定義できる便利なアクセサメソッドがRubyには用意されています。

Ruby学習メモ

アクセサメソッドを追加する

ゲッターとセッターを提供するアクセサメソッドはattr_accessorメソッドです。書き方はattr_accessorに対象となるインスタンス変数名を記述します。

attr_accessor :name, :address

「client.rb」ファイルの確認

ここまでの内容を「client.rb」ファイルにまとめます。

# coding: utf-8

#Clientクラス作成
class Client
#Clientクラスのインスタンスを初期化
  def initialize( name, address )
    @name = name
    @address = address
  end

  attr_accessor :name, :address

  def to_s
    "#@name, #@address"
  end
end

#Clientクラスのインスタンスを作成
hubworks = Client.new('hamada', '福岡県')

#ゲッターでインスタンスの名前と住所を表示
puts "名前:#{hubworks.name}、 住所:#{hubworks.address}"

#セッターで名前と住所を変更
hubworks.name = '浜田'
hubworks.address = '熊本県'

#ゲッターでhubworksの値が変更されたか確認
puts "名前:#{hubworks.name}、 住所:#{hubworks.address}"

上記のプログラムファイルを実行します。

rubyファイル出力結果

意図した通りに出力されました。今日はここまで。

関連記事

福岡のウェブデザイン事務所「ハブワークス」

HP作成・リニューアルは福岡のハブワークスまでお気軽にお問い合わせください。ウェブサイト公開後の修正・更新もお任せください。フリーランスだからできるリーズナブルな料金設定でサービスをご提供いたします。