プログラミング Java

【Java】オブジェクト指向の練習題材(会員オブジェクト)

投稿日:

前回記事、オブジェクト指向とは何なのかを簡単に説明してみるの練習題材です。

 

仕様

以下の会員クラスを作成し、Mainクラスで表示する。
会員クラスには、「会員」という単位で持つことできる値(フィールド)と
機能(メソッド)を実装していきます。

会員クラス

・クラス名:Memberとする。
・以下のフィールドを持つ。
 氏名、性別、年齢
・インスタンス生成時に、全フィールドの値を指定する。
・以下のメソッドを持つ。
 名前の取得(引数:なし、戻り値:名前)
 性別の取得(引数:なし、戻り値:性別)
 年齢の取得(引数:なし、戻り値:年齢)
 ユーザ情報の取得(引数:なし、戻り値:名前+性別+年齢)

Mainクラス

・クラス名:Mainとする。
・Memberクラスのインスタンスを生成する。
・Memberクラスのユーザ情報を表示する。

 

サンプルコード

 

年齢の負数入力への対処

サンプルコードでは、年齢は負数の入力が可能になっています。
負数入力時は、例外を投げるように修正し、正数のみ入力可能となるように修正します。

挿入場所

コンストラクターの、this.age = age; の手前に挿入します。

解説

MessageFormat.format()は、メッセージを整形して出力するメソッドです。
指定したインデックスと値を紐づけることができます。
今回の場合、name={0} age={1} の0と1は以下のように紐づきます。
0 ← name、1 ← age

(図解)

実行結果

実行すると、fusuuの会員オブジェクトが例外となったことを確認できました。

 

まとめ

・「会員」オブジェクトで持つべき値(フィールド)と機能(メソッド)を定義する。
・インスタンスを生成する際の値は、コンストラクタで定義する。
・インスタンス生成後、そのオブジェクトのメソッドを使用することができる。
・不正値はコンストラクターで例外処理にかけることができる。

-プログラミング, Java
-,

執筆者:


comment

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

CAPTCHA


関連記事

【Javaサンプル】自動販売機(Level3) クラス分け

自動販売機(Level2)では、小さいメソッドに処理を切り出すことを学びました。 しかし、まだMainクラス1つの中で完結しているプログラムです。 オブジェクト指向言語であるJavaを使うなら、クラス …

no image

GitでIndexが壊れたときの直し方

これは自分の環境用の備忘録です。 (状況) Virtual BOX内のGit環境において、INDEXが0KBになっている。(INDEXが壊れている) (対処方法) リモート環境から新しくCloneして …

Redmineでリンクにできない場合にチェックすること

目次 リンクにできない場合のチェック項目リンクにするには?リンクにできる例リンクにできない例 リンクにできない場合のチェック項目 前後に文字列がくっついている。 前後に全角スペースがある。 リンクの# …

【Spring】バリデーション時に、入力値を保持する方法

登録画面で「登録」ボタンを押した後、 バリデーションで引っ掛かってエラーになっても 入力内容を画面に保持して置く方法についてです。 テンプレートエンジンは、Tymeleafを使用しています。 方法とし …

オブジェクト指向でじゃんけんを作ってみる

最近、プログラム自体を書いていない時間を多いので、再勉強がてら少しコードを書いてみました。 目次 何を作ったか?OOPで考慮したこと設計上の条件動作例ソースコード 何を作ったか? テーマ:じゃんけん( …

SpringFramworkの良書

■おすすめ教材
Javaの基本を学んだ人が、次のステップとして読む本(中級者向け)

※SpringはJavaのFrameworkの1つです。
変更のしやすさ、保守性の高さが特徴です。