首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
对于违反里氏替换原则的两个类A和B,可以采用的候选解决方案中,正确的是( )。
对于违反里氏替换原则的两个类A和B,可以采用的候选解决方案中,正确的是( )。
admin
2013-01-20
56
问题
对于违反里氏替换原则的两个类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
系统架构师上午综合知识考试
软考高级
相关试题推荐
Betweenthelastapplicationseasonandthecurrentone,SwarthmoreCollege,aschoolnationallyrenownedforitsacademicrigor
Whathappenswhenyoucombineproductdesignskills,high-poweredmarketresearchtechniques,andabundantcustomerdata?Tooof
Don’ttalk:yourcellphonemaybeeavesdropping.Thankstorecentdevelopmentsin"spyphone"software,ado-it-yourselfspook
C#中要使一个类支持FOREACH遍历,实现过程怎样?
ASP.net的身份验证方式有哪些?分别是什么原理?
整理收藏夹重新命名“新闻”子文件夹为“我的新闻”。
如果WindowsXP不能够识别网络适配器如何安装网络适配器。
通过【控制面板】中的添加硬件向导,安装Modem的驱动程序。让系统自动搜索安装软件,Modem的型号为:IntelV92HaMDataFaxVoice。
在桌面上打开帮助和支持中心,利用“索引”的方法取得关于WindowsXP的“磁盘清理程序”方面的帮助信息。
关于Excel中创建图表,叙述正确的是______A.嵌入式图表建在工作表之内,与数据同时显示B.如果需要修饰图表,只能使用格式栏上的按钮C.创建了图表之后,便不能修改D.图表工作表建在工作表之外,与数据分开显示
随机试题
写出下列句子的汉语拼音。我一点儿也不相信比尔的话。
打开无菌包时必须按规范进行无菌操作,包的内面为_______,外面为_______。
验证假说常使用()等手法。
认为人的性本能是最基本的自然本能,它是推动人的发展的潜在的、无意识的、最根本的动因。提出这一观点的学者是()。
《沂蒙》用“红嫂”式的质朴表现“红嫂”的崇高,真实展现了“爱党爱军、开拓奋进、艰苦创业、无私奉献”的沂蒙精神,成为中华民族精神的又一壮歌。这表明()。①弘扬中华民族精神是文化建设极为重要的任务②对于民族精神要坚持“取其精华、去其糟粕
已知曲线x2+y2=R2上一点(X,Y),过点(X,Y)作曲线的切线,交坐标轴于A,B两点,AB线段为最短时,点(X,Y)的坐标为().
投资者双方在证券交易所场外直接买卖上市挂牌股票的市场称为()。
甲在离家不远的一偏僻处发现自己的女友乙正在遭受两男青年丙和丁的挑逗侮辱,便前去呵斥,但遭丙、丁的殴打,甲被迫还手。在对打时,一便衣警察戊路过,见状即抓住甲的左肩,但未表明其警察身份。甲误认为戊是对方的帮凶,便掏出匕首朝戊右臂刺去,造成戊轻伤。甲见状逃跑。本
Afieldissimplyasocialsystemofrelationsbetweenindividualsorinstitutionswhoarecompetingforthesamestake.Anexam
软件测试的目的是(14)。为了提高测试的效率,应该(15)。(14)
最新回复
(
0
)