心はいつも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
Everyday Rails頑張る。3章モデルスペック

テスト書いてからコードの決意。 今のような環境がない時代のプログラマでしたが、自 …

もうあかん!Mac OSXのスクロールを逆にする

OSXのいつのバージョンからだっけ? スクロールの向きが突如逆になったんですよね …

RailsTutorial4.0を高速で復習する。11章。

第11章ユーザーをフォローする、です。ようやく最終章。1週間でできるつもりが3週 …

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

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

no image
MacBookAirにMacAppStoreからソフトをダウンロード

MacBookAir 10日目。快調です。 WindowsからMacの移行でつま …

no image
あんたのrakeは新しいけど古いのが必要なんだよっ!!と怒られた

Mavericksってrubyが2.0になったんですね。 てのはおいといて、 r …

no image
MacBookAirで真央ちゃんのテレビ放映を見ました

テレビ持っていないを公言しています。 15年以上使っていたナショナル6型ブラウン …

no image
コンビニで買った携帯充電器がUSB充電ケーブルとして使えて意外に便利だった件

ITの最大苦手項目、 充電。。。特にiPhone多様するようになって以来、ガラケ …

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

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

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

3.3.3埋め込みRubyです。viewにrubyコードを埋め込んでtitleを …