itgle.com

对违反里氏替换原则的两个类,可以采用的候选解决方案正确的是()。A.创建一个新的抽象类C,作为两个具体类的超类,将A和B共同的行为移动到C中,从而解决A和B行为不完全一致的问题。B.将B到A的继承关系改成组合关系。C.区分是“is-a”还是“has-a”。如果是“is-a”,可以使用继承关系,如果是“has-a”应该改成组合关系。D.尽量将一些需要扩展的类或者存在变化的类设计为抽象类或者接口,并将其作为基类,在程序中尽量使用基类对象进行编程。

题目

对违反里氏替换原则的两个类,可以采用的候选解决方案正确的是()。

A.创建一个新的抽象类C,作为两个具体类的超类,将A和B共同的行为移动到C中,从而解决A和B行为不完全一致的问题。

B.将B到A的继承关系改成组合关系。

C.区分是“is-a”还是“has-a”。如果是“is-a”,可以使用继承关系,如果是“has-a”应该改成组合关系。

D.尽量将一些需要扩展的类或者存在变化的类设计为抽象类或者接口,并将其作为基类,在程序中尽量使用基类对象进行编程。


相似考题
更多“对违反里氏替换原则的两个类,可以采用的候选解决方案正确的是()。”相关问题
  • 第1题:

    ●某网站系统在用户登录时使用数字校验码。为了增强安全性,现在要求在登录校增加字母或图片。如果直接修改原有的生成登录校验码的程序代码,则违反了面设计原则中的(33)。

    (33)A.开闭原则

    B.里氏替换原则

    C.最少知识原则

    D.组合复用原则


    正确答案:A

  • 第2题:

    进行面向对象设计时,就一个类而言,应该仅有一个引起它变化的原因,这属于( )设计原则。

    A.单一责任

    B.开放-封闭

    C.接口分离

    D.里氏替换


    正确答案:A

  • 第3题:

    ● 面向对象分析与设计中的 (37) 是指一个模块在扩展性方面应该是开放的,而在更改性方面应该是封闭的;而 (38) 是指子类应当可以替换父类并出现在父类能够出现的任何地方。

    (37)

    A. 开闭原则

    B. 替换原则

    C. 依赖原则

    D. 单一职责原则

    (38)

    A. 开闭原则

    B. 替换原则

    C. 依赖原则

    D. 单一职责原则


    正确答案:A,B

  • 第4题:

    开-闭原则(Open-Closed Principle,OCP)是面向对象的可复用设计的基石。开-闭原则是指一个软件实体应当对( )开放,对( )关闭;里氏代换原则(Liskov Substitution Principle,LSP)是指任何(请作答此空)可以出现的地方,( )一定可以出现。依赖倒转原则(Dependence Inversion Principle,DIP)就是要依赖于( )而不依赖于( ),或者说要针对接口编程,不要针对实现编程。

    A.变量
    B.常量
    C.基类对象
    D.子类对象

    答案:C
    解析:
    开-闭原则要求一个软件实体应当对扩展开放,对修改关闭。也就是说,我们在设计一个模块的时候,应当使这个模块可以在不被修改的前提下被扩展,换句话说就是,应当可以在不必修改源代码的情况下改变这个模块的行为。
    里氏代换原则要求子类型必须能够替换它们的基类型,所以在里氏代换原则中,任何可基类对象可以出现的地方,子类对象也一定可以出现。
    依赖倒转原则是:要依赖于抽象,不要依赖于具体。也就是常说的要针对接口编程,不要针对实现编程。

  • 第5题:

    在面向对象设计的原则中,(36)原则是指抽象不应该依赖于细节,细节应该依赖于抽象,即应针对接口编程,而不是针对实现编程。

    A. 开闭
    B. 里氏替换
    C. 最少知识
    D. 依赖倒置

    答案:D
    解析:
    依赖倒置原则是指抽象不应该依赖于细节,细节应当依赖于抽象。换言之,要针对接口编程,而不是针对实现编程。在程序代码中传递参数时或在组合(或聚合)关系中,尽量引用层次高的抽象层类,即使用接口和抽象类进行变量类型声明、参数类型声明和方法返回类型声明,以及数据类型的转换等,而不要用具体类来做这些事情。为了确保该原则的应用,一个具体类应当只实现接口和抽象类中声明过的方法,而不要给出多余的方法,否则,将无法调用到在子类中增加的新方法。 实现开闭原则的关键是抽象化,并且从抽象化导出具体化实现,如果说开闭原则是OOD的目标的话,那么依赖倒置原则就是OOD的主要机制。有了抽象层,可以使得系统具有很好的灵活性,在程序中尽量使用抽象层进行编程,而将具体类写在配置文件中,这样,如果系统行为发生变化,则只需要扩展抽象层,并修改配置文件,而无须修改原有系统的源代码,在不修改的情况下来扩展系统功能,满足开闭原则的要求。依赖倒置原则是COM、CORBA、EJB、Spring等技术和框架背后的基本原则之一。

  • 第6题:

    在面向对象的设计原则中,()表示软件实体应当对扩展开放,对修改关闭,即软件实体应当在不修改的前提下扩展。

    • A、单一责任原则
    • B、开放封闭原则
    • C、里氏替换原则
    • D、迪米特原则

    正确答案:B

  • 第7题:

    如果某理财产品所挂钩的股票发生特殊事件,则以下说法不正确的是()。

    • A、银行可以替换个股
    • B、替换个股的期初价格为该股票的历史价格
    • C、替换个股的期初价格由银行按照既定公式计算出来
    • D、银行必须依照善意的原则与替换个股挑选原则挑选替换个股

    正确答案:B

  • 第8题:

    某些招聘主管在对候选人面试时,对在著名公司工作过的候选人盘问得比较简单,而对在小公司工作过的候选人盘问得非常严格,说明该招聘主管违反了招聘中的准确原则。


    正确答案:错误

  • 第9题:

    判断题
    在非排序式投票表决中,当只有一人当选时,如果候选人多于两个,可以采用简单多数票规则。
    A

    B


    正确答案:
    解析: 暂无解析

  • 第10题:

    单选题
    如果某理财产品所挂钩的股票发生特殊事件,则以下说法不正确的是()。
    A

    银行可以替换个股

    B

    替换个股的期初价格为该股票的历史价格

    C

    替换个股的期初价格由银行按照既定公式计算出来

    D

    银行必须依照善意的原则与替换个股挑选原则挑选替换个股


    正确答案: A
    解析: 暂无解析

  • 第11题:

    单选题
    填写选票时,对选举人要求不正确的是()。
    A

    选举人对代表候选人可以投赞成票

    B

    选举人对代表候选人可以投反对票

    C

    选举人对代表候选人可以另选其他选民

    D

    选举人对代表候选人不可以弃权


    正确答案: B
    解析: 暂无解析

  • 第12题:

    单选题
    下面哪个不是基于抽象的软件设计原则?()
    A

    里氏替换原则

    B

    开-闭原则

    C

    远离实现原则

    D

    依赖倒转原则


    正确答案: B
    解析: 暂无解析

  • 第13题:

    面向对象分析与设计中的(37)是指一个模块在扩展性方面应该是开放的,而在更改性方面应该是封闭的;而(38)是指子类应当可以替换父类并出现在父类能够出现的任何地方。

    A.开闭原则

    B.替换原则

    C.依赖原则

    D.单一职责原则


    正确答案:A

  • 第14题:

    在面向对象设计的原则中、( )原则是指抽象不应该依赖予细节,细节应该依赖于抽象,即应针对接口编程,而不是针对实现编程。

    A.开闭 B.里氏替换 C.最少知识 D.依赖倒置


    正确答案:D

  • 第15题:

    关于信令路由设置原则,下列表述正确的是()。

    A.首要原则是先选择正常工作的路由,只有当所有正常工作的路由由于故障原因不能正常工作时,再选择替换路由
    B.按优先级的原则选择替换路由,优先选择优先级比较高的替换路由
    C.路由选择时,即使路由不发生故障,也可以随时替换路由
    D.按优先级的原则选择替换路由,优先选择优先级比较低的替换路由

    答案:A,B
    解析:

  • 第16题:

    面向对象设计有7个主要原则,( )强调子类可以替换父类。

    A.迪米特原则
    B.里式替换原则
    C.依赖倒置原则
    D.开放-封闭原则

    答案:B
    解析:
    里式替换原则:子类可以替换父类迪米特原则:一个对象应当对其他对象有尽可能少的了解。依赖倒置原则:要依赖于抽象,不是具体实践。对接口进行编程,不要对实现编程。

  • 第17题:

    目前西方国家的政治选举常采用计点式选举,它适用于多个(大于两个)候选人竞争的场合,对竞争某一职位的多个候选人进行投票表决时最常用的计票方法是简单多数法则,由获票较多的候选人当选。


    正确答案:错误

  • 第18题:

    在面向对象的的设计原则中,()表示高层模块不应该依赖于低层模块,都应该依赖于抽象,抽象不应该依赖于细节,细节应该依赖于抽象。

    • A、依赖倒转原则
    • B、开放封闭原则
    • C、迪米特原则
    • D、里氏替换原则

    正确答案:A

  • 第19题:

    下面哪个不是基于抽象的软件设计原则?()

    • A、里氏替换原则
    • B、开-闭原则
    • C、远离实现原则
    • D、依赖倒转原则

    正确答案:C

  • 第20题:

    填写选票时,对选举人要求不正确的是()。

    • A、选举人对代表候选人可以投赞成票
    • B、选举人对代表候选人可以投反对票
    • C、选举人对代表候选人可以另选其他选民
    • D、选举人对代表候选人不可以弃权

    正确答案:D

  • 第21题:

    判断题
    目前西方国家的政治选举常采用计点式选举,它适用于多个(大于两个)候选人竞争的场合,对竞争某一职位的多个候选人进行投票表决时最常用的计票方法是简单多数法则,由获票较多的候选人当选。
    A

    B


    正确答案:
    解析: 暂无解析

  • 第22题:

    判断题
    里氏替换原则指的是父类型和子类型之间可以相互替换
    A

    B


    正确答案:
    解析: 暂无解析

  • 第23题:

    单选题
    在面向对象的设计原则中,()表示软件实体应当对扩展开放,对修改关闭,即软件实体应当在不修改的前提下扩展。
    A

    单一责任原则

    B

    开放封闭原则

    C

    里氏替换原则

    D

    迪米特原则


    正确答案: B
    解析: 暂无解析

  • 第24题:

    判断题
    某些招聘主管在对候选人面试时,对在著名公司工作过的候选人盘问得比较简单,而对在小公司工作过的候选人盘问得非常严格,说明该招聘主管违反了招聘中的准确原则。
    A

    B


    正确答案:
    解析: 暂无解析