刷题刷出新高度,偷偷领先!偷偷领先!偷偷领先! 关注我们,悄悄成为最优秀的自己!

简答题

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

 【说明】

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

【Java代码】

import java. util. Array List;
import java. util. List;
interface PaymentMethod {
    Public  ( 1 )
}
∥cash、 Debitcard和ltem 实现略,ltem中getPrice( )取当前物品对象的价格
abstract class Card   (2)  {
    private final String name, num;
    public Card(string name, String num){this.name= name; this, num = num; }
    @Overide
    public String toString  ( ) {
        return String. format(“%s card[name = %s, num =%s}”, this. getType( ), name, num);
 
    @override
    public void pay(int cents) {
 
        System. out. printin(“Payed"+ cents+"cents using"+toString( ));
        this, execute Transaction(cents);
  }
   protected abstract String getType( ):
   protected abstract void execute Transaction(int cents)
}
class CreditCard   ( 3 )  {
   public CreditCard(String name, String num){  (4)   ;}
    @Override
   protected String getType( ){ return"CREDIT";}
    @Override
   protected void execute Transaction(int cents) {
       System. out. Println(cents +"paid using Credit Card. ");
   }
}
 
Class Bill {//包含所有购买商品的账单
   private List<ltem> 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(Stringl args) {
           (6) = new Paymentsystem( );
         payment pay( );
 
  }
}


使用微信搜索喵呜刷题,轻松应对考试!

答案:

(1)void pay(int cents)

(2)implements PaymentMethod

(3)extends Card

(4)super(name, num)

(5)paymentMethod.pay

(6)Paymentsystem payment

解析:

(1) 根据说明和代码,PaymentMetod是一个接口,其中包含了一个名为pay的方法,接受一个整数参数cents。因此,应填入的方法声明为void pay(int cents)。

(2) 在Java中,当一个类要实现一个接口,需要使用implements关键字。根据题目描述,这里需要实现PaymentMetod接口,因此应填写implements PaymentMethod。

(3) Card是一个抽象类,而CreditCard是Card的一个子类,表示信用卡支付。在Java中,子类使用extends关键字继承父类。因此,应填写extends Card。

(4) 在子类的构造方法中,通常会调用父类的构造方法,使用super关键字。根据题目描述,CreditCard的构造方法需要调用父类Card的构造方法,并传递name和num参数。因此,应填写super(name, num)。

(5) 在Bill类的pay方法中,需要调用PaymentMetod的pay方法来完成支付。同时,需要传入getTotalPrice()方法的返回值作为支付的金额。因此,应填写paymentMethod.pay(getTotalPrice())。

(6) 在main方法中,需要创建一个Paymentsystem类的对象来进行支付操作。因此,应填写Paymentsystem paymentSystem = new Paymentsystem()。

创作类型:
原创

本文链接:阅读以下说明和Java代码,将应填入(  )处的字句写在答题纸的对栏内。  【说明】  现如今线下支

版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。

让学习像火箭一样快速,微信扫码,获取考试解析、体验刷题服务,开启你的学习加速器!

分享考题
share