【说明】
现如今线下支付系统可以使用现金(Cash)、移动支付、银行卡(Card)(信用卡(CreditCard)和储蓄卡(DebitCard))等多种支付方式(PaymentMethod)对物品(Item)账单(Bill)进行支付。图6-1是某支付系统的简略类图。
(1) executeTransaction(int cents)
(2) :public Card
(3) :Card(name,num)
(4) paymentMethod->pay
(5) bill->pay
(6) PaymentSystem *payment
(1) 定义虚方法,在子类中实现,包含getType()和executeTransaction(int cents)两个
(2)CreditCard继承Card,所以这里填继承,用:public Card
(3)CreditCard内有构造方法,并将方法内的参数传递给父类的私有成员,填 :Card(name,num)
(4) 利用paymentMethod对象调用pay方法,并传入具体价格getTotalPrice,这里填paymentMethod->pay
(5) 调用bill的pay方法,bill->pay
(6) 通过PaymentSystem *payment=new PaymentSystem进行创建对象指针