0
public interface CPR {
double balance();
void debit(double amount);
void charge(double amount);
}
public class Facile implements CPR {
private int number;
Facile(int number){
this.number = number;
}
@Override
public double balance() {
// TODO Auto-generated method stub
return 0;
}
@Override
public void debit(double amount) {
// TODO Auto-generated method stub
}
@Override
public void charge(double amount) {
// TODO Auto-generated method stub
}
}
public class Gold implements CPR {
private int number;
Gold(int number) {
this.number = number;
}
@Override
public double balance() {
// TODO Auto-generated method stub
return 0;
}
@Override
public void debit(double amount) {
// TODO Auto-generated method stub
}
@Override
public void charge(double amount) {
// TODO Auto-generated method stub
}
}
public class Ecpr implements CPR{
private int number;
Ecpr(int number){
this.number = number;
}
@Override
public double balance() {
// TODO Auto-generated method stub
return 0;
}
@Override
public void debit(double amount) {
// TODO Auto-generated method stub
}
@Override
public void charge(double amount) {
// TODO Auto-generated method stub
}
}
實現以下客戶端。 私營企業和Puba。Java工廠方法
- 當一個客戶端分配的CPR,和「創建並連接到CPR客戶端,其類型取決於客戶的類型: 目前的政策,對私人和」授予的悠遊卡,到一個企業,並'授予金卡給 組成公共行政和'分配卡E-CPR。
- 每種類型的客戶可以有其特定的功能:在這三類的情況下,只是一個商業客戶有權 也支付實際剩餘的卡,付款交易引發其他客戶 一個錯誤(例外)在應付金額超過紙張可用性的情況下。在所有類型的客戶中,必須提供以下方法:
- getCPR(int number):this和'分配給其調用的客戶的方法CPR(該類型的預期類型客戶)號碼和'收到號碼;
- chargeCPR(雙重現金):用現金充值客戶的卡;
- payCPR(雙倍金額)支付客戶信用卡上的總金額,如果支付' 可能;
- cancelCPR(int newnumber):取消當前CPR,客戶並在其上被調用,用新號碼 CPR(相同類型)替換爲新號碼,並且在其上丟棄前者的遺產心肺復甦;
- writeInfo():打印客戶的數據,即其稅碼,其類型,並在客戶的卡上可用。
public abstract class Client {
private CPR card;
private int CF;
Client(int CF){
this.CF = CF;
}
abstract CPR makeCPR(int number);
public void getCPR(int number){
card = makeCPR(number);
}
public void chargeCPR(double amount){
card.charge(amount);
}
public void payCPR(double amount) throws Exception{
}
public void cancelCPR(int newnumber){
}
public void writeInfo(){
}
}
我在落實擴展了客戶端的其他類困難。
例如,我會想到的私人課程如此實施它。
public class Private extends Client {
private CPR card;
Private(int CF) {
super(CF);
// TODO Auto-generated constructor stub
}
@Override
CPR makeCPR(int number) {
return new Facile(number);
}
public void payCPR(double amount) throws Exception{
if (amount > card.balance());
}
public void cancelCPR(int newnumber){
}
public void writeInfo(){
}
}
你有什麼樣的困難?你能否提供http://stackoverflow.com/help/mcve –