违法和不良信息举报 客服热线:400-111-9811

2019上半年软考程序员下午真题(五)

程序员 责任编辑:胡媛 2019-05-29
摘要:希赛网软考频道小编为大家整理了2019上半年软考程序员下午真题第五部分,供大家参考。

5、阅读以下说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。

【说明】

现如今线下支付系统可以使用现金(Cash)、移动支付、银行卡(Card)(信用卡 (CreditCard)和储蓄卡(DebitCard))等多种支付方式(PaymentMethod)对物品(Item)账单(Bill)进行支付。图5-1是某支付系统的简略类图。

1.jpg

问题内容:

【Java代码】

Import java.util. ArrayList;

import java.util.List;

interface PaymentMethod {

public      (1)       ;

}

// Cash、DebitCard和Item实现略,Item中getPrice( )获取当前物品对象的价格

abstract class Card       (2)      {

private final String name, num;

public Card(String name, String num) {this.name = name; this.num = num; }

@Oveiride

public String toString ( ) {

return String.format(“%s card[name = %s, num = %s]”,this.getType (), name, num);

}

@Override

public void pay(int cents) {

System.out.println(“Payed " + cents + “ cents using “ + toString( ));

this.executeTransaction(cents);

}

protected abstract String getType( );

protected abstract void executeTransaction(int cents);

}

class CreditCard       (3)      {

public CreditCard(String name, String num) {     (4)       ; }

@Override

protected String getType( ) { return "CREDIT"; }

@Override

protected void executeTransaction(int cents) {

System.out.println(cents + " paid using Credit Card. "’);

}

}

class Bill {//包含所有购买商品的账单

private List<Item> items = new ArrayList<>();

public void add(Item item) { items.add(item); }

public intgetTotalPrice( ){/*计算所有 item 的总价格,代码略*/ }

public void pay(PaymentMethod paymentMethod){//用指定的支付方式完成支付

(5)       (getTotalPrice( ));

}

}

public class PaymentSystem {

public void pay( ) {

Bill bill = new Bill( );

Item item1 = new Item("1234",10); Item item2 = new Item( "5678",40);

bill.add(item1); bill.add(item2); //将物品添加到账单中

bill.pay(new CreditCard("LI SI", "98765432101")); //信用卡支付

}

public static void main(String[ ] args) {

(6)     = new PaymentSystem( );

payment.pay( );

}

}


相关推荐:2019上半年程序员下午真题及答案

在线题库:程序员历年真题自测估分

温馨提示:因考试政策、内容不断变化与调整,本网站提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准!

通关方案

  • 在线辅导
  • 高效学习
  • 2020上半年系统集成项目管理工程师网络直播班(学海班)

    讲师:海滨 价格:3888 元
    全面精讲,覆盖核心考点,网络直播课堂讲解,课后录播,高效备考。
    立即报名
  • 2020年上半年信息系统项目管理师网络直播班(卓越班)

    讲师:左水林 价格:6188 元
    全面精讲,覆盖核心考点,网络直播课堂讲解,课后录播,高效备考。
    立即报名