考试
2022-12-25 23:25:19

对于违反里氏替换原则的两个类A和B,可以采用的候选解决方案是

题目描述

对于违反里氏替换原则的两个类A和B,可以采用的候选解决方案是()

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

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

C、将B到A的继承关系改成组合关系

D、区分是Is-a还是Has-a。如果是Is-a,可以使用继承关系,如果是Has-a,应该改成组合或聚合关系

本站整理有大量高等教育、资格考试类试题答案,Ctrl+D收藏备用!

答案解析

A里氏替换原则是面向对象设计原则之一,由BarbaraLiskov提出,其基本思想是,一个软件实体如果使用的是一个基类对象,那么一定适用于其子类对象,而且觉察不出基类对象和子类对象的区别,即把基类都替换成它的子类,程序的行为没有变化。反过来则不一定成立,如果一个软件实体使用的是一个子类对象,那么它不一定适用于基类对象。

A

加载中...
AI正在思考中,请稍候...