首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
对于违反里氏替换原则的两个类A和B,可以采用的候选解决方案中,正确的是( )。
对于违反里氏替换原则的两个类A和B,可以采用的候选解决方案中,正确的是( )。
admin
2013-01-20
39
问题
对于违反里氏替换原则的两个类A和B,可以采用的候选解决方案中,正确的是( )。
选项
A、尽量将一些需要扩展的类或者存在变化的类设计为抽象类或者接口,并将其作为基类,在程序中尽量使用基类对象进行编程
B、创建一个新的抽象类C,作为两个具体类的超类,将A和B共同的行为移动到C中,从而解决A和B行为不完全一致的问题
C、将B到A的继承关系改成组合关系
D、区分是“Is-a”还是“Has-a”。如果是Is-a,可以使用继承关系,如果是Has-a,应该改成组合或聚合关系
答案
A
解析
里氏替换原则是面向对象设计原则之一,由Barbara liskov提出,其基本思想是,一个软件实体如果使用的是一个基类对象,那么一定适用于其子类对象,而且觉察不出基类对象和子类对象的区别,即把基类都替换成它的子类,程序的行为没有变化。反过来则不一定成立,如果一个软件实体使用的是一个子类对象,那么它不一定适用于基类对象。
在运用里氏替换原则时,尽量将一些需要扩展的类或者存在变化的类设计为抽象类或者接口,并将其作为基类,在程序中尽量使用基类对象进行编程。由于子类继承基类并实现其中的方法,程序运行时,子类对象可以替换基类对象,如果需要对类的行为进行修改,可以扩展基类,增加新的子类,而无需修改调用该基类对象的代码。
转载请注明原文地址:https://kaotiyun.com/show/UwQZ777K
本试题收录于:
系统架构师上午综合知识考试题库软考高级分类
0
系统架构师上午综合知识考试
软考高级
相关试题推荐
Visitahardwarestoreinsearchofacanofwhitepaint,andyou’llfaceablizzardofchoices.BenjaminMoore&Co.offersm
Facebookdevelopedwhatitcallsafoundational"breakthrough":softwarethatenablesmachinestolearntowalkliketoddler
Asthelatestcropofstudentspentheirundergraduateapplicationformandweighuptheiroptions,itmaybeworthconsidering
Betweenthelastapplicationseasonandthecurrentone,SwarthmoreCollege,aschoolnationallyrenownedforitsacademicrigor
ASP.NET能在那些系统中运行?
已知一台计算机名字为bob,搜索该计算机。
把个人的信息进行设置,显示图片“火箭发射”,与其他人共享网络摄像机功能。
设置拨号连接属性启动“Microsoft网络客户端”组件。
在金山网镖中添加一个端口过滤规则,其中端口为3080,协议为TCP,类型为远程,操作为禁止。
从【打印机和传真】窗口界面开始,设置本地打印机“MicrosoftfficeDocu.mentImagewr4ter”为网络打印机。
随机试题
临床使用前不需要做皮肤过敏试验的药物是
婴儿预防佝缕病,每天服维生素D的剂量是
与酶活性相关性小的金属离子是
常见的由磨牙颌面窝沟,邻接面开始的龋包括涉及下前牙在内的绝大多数牙面快速、广泛的龋蚀
建筑的外观和装饰是影响房地产价格的重要因素。()
在数据库操作过程中事务处理是一个换作序列,必须具有以下性质()。
一般资料:求助者,女性,38岁,律师。案例介绍:求助者因为婚姻问题而内心痛苦近半年时间,经朋友介绍前来咨询。下面是心理咨询师与求助者之间的一段咨询对话:求助者:张老师您好!心理咨询师:您好!请坐。天气挺热,我给您倒杯
蓑衣张炜秋天,刚刚收获过的土地湿润、疏松,可爱极了。稼禾的秸秆都拉走了,香气却留在田埂上。杂生在玉米和豆棵里的草叶儿显露出来,又绿又嫩。蚂蚱在草棵间蹦跳、起飞,很欢快的样子
根据我国宪法规定,对公民财产权的限制不包括()。
MarkTwainwrotemostofhisliteraryworkswitha______language.
最新回复
(
0
)