阅读下列说明,回答问题1至问题5,将解答写在答题纸的对应栏内。 【说明】 图4.1是银行卡应用的部分类图,图中属性和操作前的“+”和“-”分别表示公有成员和私有成员。银行卡Account有两种类型,借记卡SavingAccount和信用卡Credi

admin2017-11-27  21

问题 阅读下列说明,回答问题1至问题5,将解答写在答题纸的对应栏内。
【说明】
    图4.1是银行卡应用的部分类图,图中属性和操作前的“+”和“-”分别表示公有成员和私有成员。银行卡Account有两种类型,借记卡SavingAccount和信用卡CreditAccount。

    (1)借记卡和信用卡都有卡号accountNumber和余额balance两个属性。借记卡的余额是正常余额,信用卡的余额是目前未还的金额,如果没有未还的金额,则为0;有开户setUp、取款withdraw、查询余额getBalance和销户close四个方法。借记卡取钱时,要求取钱金额不能超过余额;而信用卡取钱金额不能超过信用额度,因此需要在子类中实现该方法。
    (2)借记卡可以存钱deposit。
    (3)信用卡有信用额度creditLimit属性,可以查询信用额度getCreditLimit、修改信用额度updateCreditLimit和还款retumCredit。
现拟采用面向对象的方法进行测试。
方法withdraw在基类Account中定义,但在两个子类中有不同的实现。这是面向对象的什么机制?这种情况在测试时如何进行?

选项

答案面向对象机制:多态 如何测试:在两个子类中均要测试withdraw方法

解析 在面向对象技术中,不同的对象收到统一消息可以产生完全不同的结果,这一现象叫做多态。多态可以利用类继承的层次关系来支持。本题干“方法withdraw在基类Account中定义,但在两个子类中有不同的实现。”就是一个典型的多态机制。
    在这种情况下,需要对两个子类的方法withdraw()分别测试。
转载请注明原文地址:https://jikaoti.com/ti/meB7FFFM
0

最新回复(0)