package j2.lesson06;
/**
* 課題1902 - 解答例.
* ほげ書店の正式な領収書.
* @author arakawa
* @version $Id: HogeBooksAcquittance_java.rps,v 1.1 2006/03/06 12:56:15 java2005 Exp $
*/
public class HogeBooksAcquittance implements Acquittance {
private String payer;
private int totalAmount;
private String finePrint;
/**
* 正式な領収書のインスタンスを生成する。
* 支払人、合計金額、但し書きの初期値は次のようになっている。
* <ul>
* <li> 支払人 - "上" </li>
* <li> 合計金額 - 0 </li>
* <li> 但し書き - "お品代" </li>
* </ul>
*/
public HogeBooksAcquittance() {
super();
this.payer = "上";
this.finePrint = "お品代";
this.totalAmount = 0;
}
/**
* 支払人の名前を取得する。
* @return 支払人の名前
*/
public String getPayerName() {
return this.payer;
}
/**
* 支払人の名前を設定する。
* @param payer 支払人の名前
*/
public void setPayerName(String payer) {
this.payer = payer;
}
/**
* 発行者の名前を取得する。
* @return 発行者の名前
*/
public String getIssuerName() {
return "ほげ書店";
}
/**
* 合計金額を取得する。
* @return 合計金額
*/
public int getTotalAmount() {
return this.totalAmount;
}
/**
* 合計金額を設定する。
* @param totalAmount 合計金額
*/
public void setTotalAmount(int totalAmount) {
this.totalAmount = totalAmount;
}
/**
* 但し書きを取得する。
* @return 但し書き
*/
public String getFinePrint() {
return this.finePrint;
}
/**
* 但し書きを設定する。
* @param finePrint 但し書き
*/
public void setFinePrint(String finePrint) {
this.finePrint = finePrint;
}
/**
* この領収書全体を表示する。
*/
public void show() {
// print "領収書", 改行
System.out.println("領収書");
// print (支払人) + "様", 改行
System.out.println(getPayerName() + "様");
// print "¥" + (合計金額) + ".-", 改行
System.out.println("¥" + getTotalAmount() + ".-");
// print "(但し、" + (但し書き) + "として)", 改行
System.out.println("(但し、" + getFinePrint() + "として)");
// print "確かに領収いたしました。", 改行
System.out.println("確かに領収いたしました。");
// print " " + (発行者), 改行
System.out.println(" " + getIssuerName());
}
/**
* サンプルプログラム。
* @param args 無視される
*/
public static void main(String[] args) {
HogeBooksAcquittance acq = new HogeBooksAcquittance();
acq.setTotalAmount(5000);
acq.show();
}
}
|