心はいつも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
RailsとRubyのインストール済みバージョン確認し、Rails3.2+Ruby1.9に戻してみる。

Rails3.2で作る必要があったので、Rails4はいったんおいといてRail …

パーフェクトRuby 2章Rubyの基礎 2-7-3 シンボル

p61 2-7-3 シンボル シンボル好きです。Ruby始めた頃の一番最初の疑問 …

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

6.2.3長さを検証する、です。空データを拒否した次は、入力できるデータ長の制限 …

パーフェクトRuby 2章Rubyの基礎 2-1 Hello,Ruby

12章から5章まではPart2 Ruby言語仕様 です。 2章 Rubyの基礎 …

no image
retweetボタンを追加してみました

最近いろんなブログで見かけるretweetボタン。ブログのエントリーについている …

no image
RailsTutorial4.0を高速で復習する。3.5章。最後の問題。

3.5演習、3もんめ、最後の問題です。 3.(上級者向け)「Heroku pag …

no image
RailsTutorial4.0を高速で復習する。5.6章。演習2問目のつづき。

5.6章。演習2問目です。TDDにこだわり、あえてこの問題をするまで、ヘッダーや …

no image
電子雑誌を買いました

GWの計画を立てているとき、行きたい場所を検索をすると、HANAKO WESTの …

初めてのRuby8章「オブジェクトとクラス」

2章「配列とハッシュ」の次はいきなり8章「オブジェクトとクラス」に行ってしまいま …

WordPressのテンプレートを自分で作ってみました

ブログ更新は久々になりました。この2週間、ずっとこのブログ用にWordPress …