心はいつもAirPucci (空元気でもいいから)

毎日がPucciを着ているような気分

初めてのRuby8章 8.2変数と定数

   


8.2 変数と定数

8.2.1 インスタンス変数

@で始まるのがインスタンス変数。インスタンス内部で有効。

8.2.2 クラス変数

クラスで同じ値を保持できるのが@@で始まるクラス変数。

class Taro
  @@okozukai = 5000
  def kozukai
    puts "Taroのおこづかいは" + @@okozukai.to_s + "円です。"
  end
end

class Jiro < Taro
  def initialize
    @jiro = @@okozukai - 1000 
  end

  def kozukai
    puts "Jiroのおこづかいは" + @jiro.to_s + "円です。"
  end
end

class Saburo < Taro
  def initialize
    @saburo = @@okozukai - 2000 
  end

  def kozukai
    puts "Saburoのおこづかいは" + @saburo.to_s + "円です。"
  end
end

taro = Taro.new
taro.kozukai

jiro = Jiro.new
jiro.kozukai

saburo = Saburo.new
saburo.kozukai

クラス変数は書き換えはできる。

8.2.3 定数

書き換えできるクラス変数に対し、定数はクラスに属する書き換えできない変数。

class Teisu
  RINGO_EIGO = "apple"
  p RINGO_EIGO + "クラス内で参照しました。" 

  def print_apple
    p RINGO_EIGO + "クラスのメソッド内で参照しました。" 
  end
end

p Teisu::RINGO_EIGO + "クラス外で参照しました。" 
teisu = Teisu.new
teisu.print_apple

8.4 アクセス権限

public, private, protectをつける事でアクセス権限をつけることができる。Javaはクラス全体につける事ができたのに、Rubyはメソッド毎かいな?

public:どこからでも呼び出しできる
protected:そのクラス、そのサブクラスの、インスタンスメソッドからのみ呼び出しできる
private:レシーバ省略形式でしか呼び出しできない。 selfに対してしか呼び出しできない。

クラス全体にアクセス権限をつける事ができなくていいのだろうか?

次は8.4 特異メソッドと特異クラス

【送料無料】初めてのRuby [ Yugui ]

【送料無料】初めてのRuby [ Yugui ]
価格:2,310円(税5%込、送料込)

 - テクニカル ,

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

  関連記事

no image
RailsTutorial4.0を高速で復習する。4.1章の途中から。

さて、4.1章の途中にある、変だなと思っている箇所、 リスト4.4 Homeペー …

no image
editとupdate

ruby on rails3プリケーションプログラミングの本の内容をruby2. …

文字化けもするし、、

自作テンプレ作ったはいいですが、問題が、、。 関連しそうな記事 iTunesをM …

no image
RailsTutorial4.0を高速で復習する。6.3.5章。

6.3.5ユーザーを作成する、です。 userモデルはできています。開発用のデー …

Mac mini買いました。

Appleの新製品発表が近づいているというのに、Mac mini買ってしまいまし …

Ruby1.9+Rails3.2に加えて、Ruby2.0+Rails4.0のプロジェクトを作る。

Ruby1.9+Rails3.2のプロジェクトは作りましたが、その後、Ruby2 …

no image
ブログデザイン変更しました

予告通り、本日中にブログのデザインを変更できました。WordPressのテーマT …

Objective-C苦節3ヶ月アプリ作れるようになった

このブログairpucci.comのメニューにアプリ開発追加しました。 昨年秋よ …

iPhoneアプリ開発のお勉強方法です。

Objective-C苦節3ヶ月アプリ作れるようになったと書きましたが、本日アプ …

no image
RailsTutorial4.0を高速で復習する。4.2章。

4.2文字列(string)とメソッド、です。 ここからはrubyの文法について …