进行面向对象设计时,就一个类而言,应该仅有一个引起它变化 的原因,这属于()设计原则。【最全!最详细解析!】
进行面向对象设计时,就一个类而言,应该仅有一个引起它变化 的原因,这属于()设计原则。
A、单一职责
B、开放-封闭
C、接口分离
D、里氏替换
解析:
本题考点为面向对象设计的七大原则。
开闭原则
软件实体(模块,类,方法等)应该对扩展开放,对修改关闭。里氏替换原则(LSP)
所有引用基类的地方必须能透明地使用其派生类的对象。
说人话就是:子类可以继承父类,但不能改变父类的功能, 里式替换是对继承的约束。迪米特原则(最少知道原则)(LOD)
只与你直接的朋友们通信,不要跟“陌生人”说话。
翻译过来就是:避免间接调用单一职责原则
一个类/接口/方法有且仅有一个职责。也就是说,只有该职责能够引起这个类/接口/方法的变化。接口分隔原则(ISP)
不能强迫用户去依赖那些他们不使用的接口。换句话说,使用多个专门的接口比使用单一的总接口总要好。依赖倒置原则(DIP)
- 高层模块不应该依赖于低层模块,二者都应该依赖于抽象
- 抽象不应该依赖于细节,细节应该依赖于抽象
- 针对接口编程,不要针对实现编程。
组合/聚合复用原则(CARP)
尽量使用组合/聚合,不要使用类继承。
综上,答案选A。
最近在进行软考系列精选真题解析, 欢迎点赞、关注、阅读~
进行面向对象设计时,就一个类而言,应该仅有一个引起它变化 的原因,这属于()设计原则。【最全!最详细解析!】相关推荐
- C++:利用静态成员的方法实现对班费的管理。要求定义一个类Student,除了声明一个存放班费的静态成员,还要求分别定义一个上交班费的成员函数Contribute()、花费班费的成员函数Spend(
C++:利用静态成员的方法实现对班费的管理.要求定义一个类Student,除了声明一个存放班费的静态成员,还要求分别定义一个上交班费的成员函数Contribute().花费班费的成员函数Spend() ...
- 编写Java程序,创建Dota游戏中的兵营类,兵营类有一个类成员变量count、一个实例变量name和另一个实例变量selfCount。
返回本章节 返回作业目录 需求说明: 创建Dota游戏中的兵营类 兵营类有一个类成员变量count.一个实例变量name和另一个实例变量selfCount. count表示的是兵营已经创建士兵的总数: ...
- php类的实例化和调用,PHP:如何使用另一个类中的参数实例化一个类
我处于某种情况,我需要使用另一个类的实例中的参数实例化一个类. 这是原型: //test.php class test { function __construct($a, $b, $c) { ech ...
- python写一个类_python3学习笔记--002--写一个类
代码: [laolang@localhost classtest]$ cat test.py #!/usr/bin/env python class person: def __init__(self ...
- python传递类的实例_使用Python将变量从一个类实例传递到另一个类实例?
我在将一个类实例中定义的变量传递到另一个类实例时遇到问题.我对使用类比较陌生,但据我所知,变量可以通过简单地定义为类实例的一部分(例如在下面的示例中)从一个实例传递到另一个实例.虽然我以前使用过这个模 ...
- 一个类的属性调用另一个类的实例
先定义一个类,然后初始化它的属性.比如士兵发射子弹,先定义一个士兵类,然后初始化两个属性,士兵的姓名和士兵手中的枪. 由于一开始不知道士兵会使用什么枪作战,所以士兵使用的枪初始化属性可以先被定义为No ...
- 一个类的实例是另一个类的属性python_Python中的类属性和实例属性引发的一个坑...
问题 今天在项目中遇到了个奇怪的问题,实例的一个时间属性并没有根据时间变化而变化,分析之后恍然大悟,总结下分享给大家.大家先看一段代码: import datetime import time cla ...
- C# winform中一个类中如何调用另一个窗体的控件或方法
转载地址:http://blog.csdn.net/ichenqingyun/article/details/52622340 一种是创建窗体对象的方式,通过对象调用控件或方法 例如: Form1 f ...
- 用java建一个类_利用JAVA创建一个类。
慕姐829404 123456789101112131415package com.test;public class TestTrapezia { public static void m ...
- 设计一个矩形类rectangle_万字长文带你捋清六种设计模式的设计原则(建议收藏)...
对于设计模式,自己很早之前就看了好多本设计模式书籍,其中一些还看了好几遍,也一直希望自己能在编码的时候把这些设计模式用上去.可是,在日常的打码中,用的最多的就是单例,其次是观察者和建造者模式 ( bu ...
最新文章
- Windows与Linux区别3
- 【Network Security!】入侵痕迹清除,修改系统日志
- Microsoft Visual SourceSafe 使用指南
- 电脑记事本_带日历的电脑桌面记事本?
- AJAX自学笔记01
- sed教程入门与实例练习(一)
- 记录搭建Odoo框架
- RIA之家精华教程和资源集合
- python mysql异常处理_python-处理PyMySql异常-最佳做法
- 用PHP写Yaf:Yaf_Registry类
- StringUtil详解
- 网页html生成图片的常用方案
- win10企业版如何安装应用商店-默认没有应用商店
- c语言获取windows路径,获取Windows/System/Temp目录路径
- “The Gentle Lentil Restaurant“ Case Solution Report 模型与决策-温柔小扁豆餐厅例题
- 急!灾区的食物依然短缺!(找不到原题出处只能这样了.....)
- C语言程序设计学习笔记:P3-判断
- 外贸公司用邮件开发客户需要注意些什么?
- 宽带换了新的账号怎么连接服务器地址,宽带换了路由器设置步骤图解
- 计算机词汇店名,电脑店名字200例