スポンサーサイト





上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

タグ :

   印刷ボタン       この記事に拍手する       このエントリーをはてなブックマークに追加

Return to page top

  • Comments (Close): -
  • TrackBack (Close): -

カプセル化とJavaBeans





この章では、Priceクラスを定義してペンの値段 price を設定していますが、今のままでは不都合が発生します。

たとえば、priceはint型ですが、int型にはマイナスの値も代入することができるので、間違ってマイナスの値を代入してしまうと値段がマイナスになってしまいます。

「そんな間違いしないよ」というかもしれませんが、プログラムを作る上で、間違いの可能性を放置しておくのはあまり望ましいことではありません。

このような問題を解決するために、Javaでは「カプセル化」という仕組みを用意しています。


privateメンバを作る



あなたがPriceクラスを担当しているとします。別の人たちがSampleクラスからPriceクラスを利用するときに、変数 price にマイナスの値を設定されないようにするにはどうしたらいいでしょうか?

何もしないでいると、別の人たちは、pen.price=-100、note.price=-150、のようにPriceクラスのpriceフィールドに好き勝手にアクセスできてしまいます。あなたの仲間が人の悪い人たちばかりだったら、プログラムがめちゃめちゃにされてしまいます。

外のクラスから勝手にアクセスできないようにするには、privateメンバを作ります。このようなアクセス制限をかけることをカプセル化といいます。

privateメンバを作るには、メンバの頭にprivateという指定をつけます。
  private int price;

これで鉄壁です。あなた以外の誰も変数priceに値を設定することはできません。

しかし、まったく値を設定できないのは困りますね。そもそもpriceはみんながいろんな品物の値段を設定するためのフィールドだからです。

そこで、セッタと呼ばれるメソッドを定義します。今回の場合ですと、マイナスの値を設定しようとするとエラーが返ってくるようなメソッドを定義するのです。

続きはブロマガを購入して楽しもう!
このコンテンツはブロマガ(有料)です。
購入すると続きをお楽しみいただけます。
ブロマガって何?

タグ :

   印刷ボタン       この記事に拍手する       このエントリーをはてなブックマークに追加

Return to page top

  • Comments (Close): -
  • TrackBack (Close): -
  • 閉じるボタン
クラスライブラリ解説 目次
クラスライブラリとは
 ├ Java APIの調べ方
 ├ Objectクラスを調べる
 ├ ライブラリのインポート
 ├ 完全修飾クラス名を調べる
 ├ staticインポート
 ├ 外部ライブラリの利用

文字列を扱う
 ├ Stringとイミュータプル
 ├ StringBuilder 文字列の連結
 ├ toString()のオーバーライド
 ├ toXxCase() 大文字と小文字
 ├ compareTo() 値の比較
 ├ parseDouble() 文字を小数値に
 └ 文字列を抜き出す
 ├ char配列からString型へ変換
 ├ 空白文字の除去

日付を扱う
 ├ Calendar 現在の日付
 ├ Date 日付の表示

数値演算を扱う
 ├ round() 切上・切捨・四捨五入
 ├ BigDecimal
 ├ sqrt(),pow() 累乗と平方根
 ├ BigInteger
 ├ int型の最大値・最小値
 ├ random() 乱数作成

ファイルを扱う
 ├ ファイルの存在確認
 ├ ファイルを作成
 ├ ファイルの削除
 ├ ファイルサイズを調べる

入出力ストリーム
 ├ ファイルを読み込む
 ├ 画像ファイルのコピー
 ├ 日本語の読み込みと書き出し
 ├ バッファ入出力
 ├ データ型フリーの出力ストリーム
 ├ getBytes()メソッド

書式つき入出力
 ├ 書式を指定して出力
 ├ 引数インデックス
 ├ 整数値のフォーマット
 ├ 小数値のフォーマット
 ├ 九九の表のフォーマット

例外処理
 ├ printStackTrace()
 ├ NullPointerException
 └ NumberFormatException
月別アーカイブ
カテゴリ
リンク
QRコード
QR
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。