问题 单项选择题

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

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

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

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

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

答案

参考答案:A

解析:

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

在运用里氏替换原则时,尽量将一些需要扩展的类或者存在变化的类设计为抽象类或者接口,并将其作为基类,在程序中尽最使用基类对象进行编程。由于子类继承基类并实现其中的方法,程序运行时,子类对象可以替换基类对象,如果需要对类的行为进行修改,可以扩展基类,增加新的子类,而无需修改调用该基类对象的代码。

综合题

阅读下列材料:

材料一 柏利在1853年进行的那次访问是不受欢迎的,但过后他在日本反而有了许多潜在的盟友。

——科尔顿《近代世界史》中册

回答:

(1)材料一中柏利的访问为什么不受欢迎?依据所学知识说明“潜在的盟友”的含义。

材料二 (日本明治维新时)改革的动力是西化 ……英国模式自然作为铁路、电信、公共建筑和市政工程、纺织工业以及许多商业方面的模范;法国模式用来改革法制,海军当然还是学习英国,大学则归功于美国。日本聘请的外国专家(在日本人的监督下)从1875—1876年的五六百人,上升到1890年的3000人左右。然而政治和意识形态方面的选择就困难了。……于是不到20年便出现一股反对极端西化、极端自由化的势力。……(他们)实际上是想制造一个新的以崇拜天皇为核心的国教,即神道崇拜。

——[英]艾瑞克·霍布斯鲍姆《资本的年代》

1.3.5

 
回答:

(2)依据材料二,概括指出日本明治维新时期在向西方学习上的突出特点是什么?

材料三  日本新领导人(注:指明治维新的领导者)不赞成这种不加区别地奉承所有西方东西的做法,他们并不对西方文明本身感兴趣,而仅仅对其中增强了民族力量的那些组成成分感兴趣。……他们现在提出了一个非凡的改革方案,宗旨在于建立一个强大的日本,而不是完全模仿西方国家。[美]斯塔夫里阿诺斯《全球通史》

回答:

(3)依据材料并结合所学知识,说明“日本领导人”感兴趣的那些“增强民族力量”的西方文明是什么?

材料四 文明开化过程中的过火行为,使得日本的传统文化面临崩溃,甚至有人提出日本人应该改说英语,与西洋人通婚,以改良日本人种。

——《大国崛起》解说词

回答:

(4)材料四说明日本明治维新过程中,曾出现什么问题?你认为应该如何对待外来文化?

单项选择题 A1/A2型题