
練習10-1
MarkPrinterMain1~4クラスを実行すると下図の様な実行結果となるようにMarkPrinterクラスを作成してください。




練習10-2
MarkPrinterクラスを使用し、実行すると下記のような実行結果となるようにMarkPrinterMain5クラスを作成してください。

練習10-3
PersonMain1クラスを実行すると下記のような実行結果となるようにPersonクラスを作成してください。

練習10-4
PersonMain2クラスを実行すると下記のような実行結果となるようにPersonクラスにソースコードを追加してください。

練習10-5
PersonMain3クラスを実行すると下記のような実行結果となるようにPersonクラスにソースコードを追加してください。

練習10-6
PersonMain4クラスを実行すると下記のような実行結果となるようにPersonクラスにソースコードを追加してください。

解答例と解説
メソッドの呼び出しかたをよく理解しておきましょう。メソッドもオブジェクトをさす変数をつけて呼び出していました。どのオブジェクトについてのメソッドかを特定するためです。
また、メソッドの定義と同じクラス内でも行うことができます。下記のコードが解答例です。


練習10-3,10-4,10-5,10-6は、メンバへのアクセスを制限するprivateメンバをつくりましょう。Personクラスの外から、身長や体重を直接設定することはできません。しかし、publicをつけたsetHeightAndWeight()メソッドならば呼び出し可能です。

クラスを設計する人がメンバを適切にprivateメンバとpublicメンバに分類しておけば、他の人が利用したい場合誤りの起きにくいプログラムになります。
カプセル化のしくみをよく理解しておきましょう。