问答题假设系统中有三个类,分别为类A、类B和类C。在现有的设计中,让类A直接依赖类B,如果要将类A改为依赖类C,必须通过修改类A的代码来达成,请问这样的设计符合开闭原则吗?如果符合,请依据开闭原则进行解释,如果不符合请给出重构的方法。
问答题
假设系统中有三个类,分别为类A、类B和类C。在现有的设计中,让类A直接依赖类B,如果要将类A改为依赖类C,必须通过修改类A的代码来达成,请问这样的设计符合开闭原则吗?如果符合,请依据开闭原则进行解释,如果不符合请给出重构的方法。
参考解析
解析:
暂无解析
相关考题:
● UML类图中类与类之间的关系有五种:依赖、关联、聚合、组合与继承。若类A需要使用标准数学函数类库中提供的功能,那么类A 与标准类库提供的类之间存在(45)关系;若类 A 中包含了其它类的实例,且当类 A 的实例消失时,其包含的其它类的实例也消失,则类 A 和它所包含的类之间存在 (46) 关系;若类 A 的实例消失时,其它类的实例仍然存在并继续工作,那么类A 和它所包含的类之间存在 (47) 关系。(45)A. 依赖 B. 关联 C. 聚合 D. 组合(46)A. 依赖 B. 关联 C. 聚合 D. 组合(47)A. 依赖 B. 关联 C. 聚合 D. 组合
● 三若类A仅在其方法Method1中定义并使用了类B的一个对象,类A其它部分的代码都不涉及类 B,那么类 A 与类 B 的关系应为(1) ;若类 A 的某个属性是类 B的一个对象,并且类 A 对象消失时,类 B 对象也随之消失,则类 A 与类 B 的关系应为(2) 。(1)A. 关联 B. 依赖 C. 聚合 D. 组合(2)A. 关联 B. 依赖 C. 聚合 D. 组合
若类A仅在其方法Methodl中定义并使用了类B的一个对象,类A其它部分的代码都不涉及类B,那么类A与类B的关系应为( );若类A的某个属性是类B的一个对象,并且类A对象消失时,类B对象也随之消失,则类A与类B的关系应为( )。A.关联B.依赖C.聚合D.组合
●如果在一个课程注册系统中,定义了类CourseSchedule和类Course,并且在类CourseSchedule中定义了方法Add(c:Course)和方法Remove (c:Course),那么类CourseSchedule和类Course之间的是一种(18)关系。(18)A.包含B.实现C.依赖D.泛化
UML类图中类与类之间的关系有五种:依赖、关联、聚合、组合与继承。若类A需要使用标准数学函数类库中提供的功能,那么类A与标准类库提供的类之间存在(45)关系;若类A中包含了其他类的实例,且当类A的实例消失时,其包含的其他类的实例也消失,则类A和它所包含的类之间存在(46)关系;若类A的实例消失时,其他类的实例仍然存在并继续工作,那么类A和它所包含的类之间存在(47)关系。(62)A.依赖B.关联C.聚合D.组合
● 若类A仅在其方法Method1中定义并使用了类B的一个对象,类A其它部分的代码都不涉及类 B,那么类 A 与类 B 的关系应为 (41) ;若类 A 的某个属性是类 B的一个对象,并且类 A 对象消失时,类 B 对象也随之消失,则类 A 与类 B 的关系应为 (42) 。(41)A. 关联B. 依赖C. 聚合D. 组合(42)A. 关联B. 依赖C. 聚合D. 组合
城市用地分类采用大类、中类和小类三个层次的分类体系。下面哪项划分正确?( )A.6大类、40中类、60小类B.10大类、46中类、73小类C.10大类、56中类、79小类D.20大类、50中类、70小类
在面向对象分析和设计中,用类图给出系统的静态设计视图,其应用场合不包括( )。下图是一个UML类图,其中类University和类School之间是( )关系,类Person和类PersonRecord之间是(请作答此空)关系,表示Person与Person Record( )。A.依赖B.关联C.聚集D.泛化
在面向对象分析和设计中,用类图给出系统的静态设计视图,其应用场合不包括__1____。下图是一个UML类图,其中类University和类School之间是___2___关系,类Person和类PersonRecord之间是__3____关系,表示Person与Person Record___4___。2、____A.依赖B.关联C.聚集D.泛化
关于抽象类和具体类,下列说法不正确的是()A、如果一个类有父类,该类就是具体类B、如果一个类继承了父类的抽象操作方法,而该类未提供实现,那么该类是抽象类C、抽象类没有任何直接的实例,而具体类则有直接实例D、在UML中,通过把一个类的名称写为斜体来指明该类是抽象类
在J2EE中,EJB文件包含三个class文件,它们是()。A、Applet,servlet和JavaBean类文件B、EJB类,Home接口和Remote接口C、EJB类,jar类文件和其他类文件D、客户类,商业类和服务类
在Java中,下面关于抽象类的描述正确的是()。A、抽象类可以被实例化B、如果一个类中有一个方法被声明为抽象的,那么这个类必须是抽象类C、抽象类中的方法必须都是抽象的D、声明抽象类必须带有关键字abstract
在一个课程注册系统中,定义了类CourseSchedule和类Course,并在类CourseSchedule中定义了方法add(c:Course)和方法reInove(c:Course),则类CourseSchedule和类Course之间的关系是:()A、泛化关系B、组合关系C、依赖关系D、包含关系
单选题一个类库文件中可以包含许多类定义,每个类都有自己的名字。要修改某个类的名字,可以( )。A在类设计器环境下,重新设置类的Caption属性值B在类设计器环境下,重新设置类的Name属性值C使用RENAME CLASS命令D不能修改,但可以删除类
单选题在一个课程注册系统中,定义了类CourseSchedule和类Course,并在类CourseSchedule中定义了方法add(c:Course)和方法reInove(c:Course),则类CourseSchedule和类Course之间的关系是:()A泛化关系B组合关系C依赖关系D包含关系
单选题IP地址分为A、B、C、D、E五类,IP地址10.2.1.1和201.222.5.121的地址类别分别为()AA类和B类BA类和C类CB类和A类DC类和A类