心はいつも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
iPad vs. VAIO P 持ち歩き編。

旅に出かけるときはケーブルと一緒です。ドコモ携帯、VAIO P、iPhone、W …

no image
Gitをインストールする

Rails開発がしたいのですが、今後必要になるでしょうからGitをインストールし …

つながらないWimaxの電波倍返し

googleが見つかりませんと言われると、対外電波切れ。 本日は多発しています。 …

no image
Ruby 1.9系をインストールする

Rubyのバージョン管理ができるrbenvをインストールしたらいよいよRubyの …

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

3.3.2タイトルのテストをパスさせる。です。 ひとまず、静的ページをhtmlの …

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

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

no image
RailsGirlsMore!でRailsTutorialのキモチワルイところがスッキリしました

RailsGirls松江からのぉ〜東京More!*既に2回目から1ヶ月半。またま …

Chromeでの文字化けを対処しました。

WordPressで自作テンプレを作ってみたのはよいものの、困った問題が2つ。 …

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

9.3.2サンプルのユーザー、です。 Faker gemで、実際にありそうなユー …

パーフェクトRuby 2章Rubyの基礎 2-8 様々な代入式

p66 2-8-1 多重代入 まとめて代入する横着なやり方。 a,b = 1,2 …