プログラミング 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


関連記事

【SpringBootチュートリアル】#1~ 開発環境を準備しよう(IDE)

想定読者 SpringBootを始めて学ぶ方   IDE(Eclipse) IDEにはEclipse以外にもNetBeansやIntelliJがあります。 好みによりますので使いやすいものを …

elseを使わないことでパフォーマンスが下がる場合の対処法

  状況 前回記事(なぜelse、else ifを書かないようにすべきなのか?)のような ifのみで判定されており、それがfor文等の繰り返し処理の中にある場合は パフォーマンスが下がる。 …

VBAが書けるまでにどのくらいかかったか?

これからVBAを学ぼうとしている人向けに参考情報として書きます。 前提 前提として、私の経歴を少し書いておきます。 ・PHPでのWeb開発1年未満 ・Javaの簡易なアプリは作れる ・SQLも理解して …

PHPerがJavaを学ぶ5つのメリット

PHPerである私が会社でJavaの研修担当となり、私自身も大学生以来のJavaを勉強しなおして感じたことを書いていきたいと思います。 対象読者 ・PHP初心者 ・なんとなくPHPで動くプログラムを書 …

【Java】TDDして汎用的な部品を作成する(日付期間オブジェクト)

目的 TDDブートキャンプというセミナーに参加して面白かったので、 自分で何かやってみようと思った。 仕様 日付期間を保持するオブジェクトである。 開始日と終了日を持つ。 開始日と終了日を持つことをど …

記事を探す

SpringFramworkの良書

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

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