当前位置: 首页 > news >正文

织梦个人网站金湖网页设计多少钱

织梦个人网站,金湖网页设计多少钱,北京购物网站建设公司,兰州市建设厅网站2023年8月26日#xff0c;周六上午 目录 概述一个简单的例子用单一职责原则来设计一个简单的学生管理系统 概述 单一职责原则#xff08;Single Responsibility Principle#xff0c;SRP#xff09;#xff0c;它是面向对象设计中的一个基本原则。 单一职责原则的核心思…2023年8月26日周六上午 目录 概述一个简单的例子用单一职责原则来设计一个简单的学生管理系统 概述 单一职责原则Single Responsibility PrincipleSRP它是面向对象设计中的一个基本原则。 单一职责原则的核心思想是一个类应该只有一个引起它变化的原因。 换句话说一个类应该只负责一项功能或职责。 这样做的好处是当需求发生变化时只有与该功能相关的类需要进行修改而不会影响其他不相关的功能。 一个简单的例子 class FileManager { public:void readFile(std::string filename) {// 读取文件的代码逻辑}void writeFile(std::string filename) {// 写入文件的代码逻辑}void deleteFile(std::string filename) {// 删除文件的代码逻辑}void encryptFile(std::string filename) {// 加密文件的代码逻辑}void compressFile(std::string filename) {// 压缩文件的代码逻辑} };在这个示例中FileManager类负责文件的读取、写入、删除、加密和压缩等操作。 这个类违反了单一职责原则因为它承担了多个不同的功能即文件操作和文件处理。 为了遵循单一职责原则我们可以将文件操作和文件处理分离为两个独立的类 class FileManager { public:void readFile(std::string filename) {// 读取文件的代码逻辑}void writeFile(std::string filename) {// 写入文件的代码逻辑}void deleteFile(std::string filename) {// 删除文件的代码逻辑} };class FileProcessor { public:void encryptFile(std::string filename) {// 加密文件的代码逻辑}void compressFile(std::string filename) {// 压缩文件的代码逻辑} };现在FileManager类负责文件的基本操作而FileProcessor类负责对文件进行加密和压缩等处理操作。这样每个类都只有一个单一的职责使得代码更加清晰、可维护和可扩展。 总结来说单一职责原则要求将不同的职责分离到不同的类中以确保每个类只负责一项功能。这样可以提高代码的可读性、可维护性和可扩展性减少代码之间的耦合。 用单一职责原则来设计一个简单的学生管理系统 使用单一职责原则来设计一个简单的学生管理系统可以将功能分解为以下几个类 Student类表示学生对象包含学生的基本信息如姓名、学号、年龄以及相关操作如获取学生信息、修改学生信息。StudentDatabase类负责学生信息的存储和管理包含增加学生、删除学生、查找学生等操作。StudentUI类负责与用户交互显示菜单选项接收用户输入并调用StudentDatabase类中的方法来执行相应的操作。 #include iostream #include vector #include stringclass Student { private:std::string name;int studentId;int age;public:Student(std::string name, int studentId, int age): name(name), studentId(studentId), age(age) {}std::string getName() const {return name;}int getStudentId() const {return studentId;}int getAge() const {return age;}void updateName(std::string newName) {name newName;}void updateAge(int newAge) {age newAge;} };class StudentDatabase { private:std::vectorStudent students;public:void addStudent(const Student student) {students.push_back(student);}void removeStudent(int studentId) {for (auto it students.begin(); it ! students.end(); it) {if (it-getStudentId() studentId) {students.erase(it);break;}}}Student findStudent(int studentId) const {for (const auto student : students) {if (student.getStudentId() studentId) {return student;}}// 如果找不到对应的学生则返回一个空的Student对象return Student(, -1, -1);}std::vectorStudent getAllStudents() const {return students;} };class StudentUI { private:StudentDatabase studentDB;public:void displayMenu() {std::cout 学生管理系统 std::endl;std::cout 1. 添加学生 std::endl;std::cout 2. 删除学生 std::endl;std::cout 3. 查找学生 std::endl;std::cout 4. 显示所有学生 std::endl;std::cout 0. 退出 std::endl;}void addStudent() {std::string name;int studentId, age;std::cout 请输入学生姓名: ;std::cin name;std::cout 请输入学生学号: ;std::cin studentId;std::cout 请输入学生年龄: ;std::cin age;Student student(name, studentId, age);studentDB.addStudent(student);std::cout 成功添加学生! std::endl;}void removeStudent() {int studentId;std::cout 请输入要删除的学生学号: ;std::cin studentId;studentDB.removeStudent(studentId);std::cout 成功删除学生! std::endl;}void findStudent() {int studentId;std::cout 请输入要查找的学生学号: ;std::cin studentId;Student student studentDB.findStudent(studentId);if (student.getStudentId() ! -1) {std::cout 找到学生: student.getName() std::endl;std::cout 学号: student.getStudentId() std::endl;std::cout 年龄: student.getAge() std::endl;} else {std::cout 未找到该学生! std::endl;}}void displayAllStudents() {std::vectorStudent students studentDB.getAllStudents();if (students.empty()) {std::cout 暂无学生信息! std::endl;} else {std::cout 所有学生信息: std::endl;for (const auto student : students) {std::cout 姓名: student.getName() , ;std::cout 学号: student.getStudentId() , ;std::cout 年龄: student.getAge() std::endl;}}}void run() {int choice;do {displayMenu();std::cout 请输入选项: ;std::cin choice;switch (choice) {case 1:addStudent();break;case 2:removeStudent();break;case 3:findStudent();break;case 4:displayAllStudents();break;case 0:std::cout 退出程序! std::endl;break;default:std::cout 无效的选项请重新输入! std::endl;}} while (choice ! 0);} };int main() {StudentUI studentUI;studentUI.run();return 0; }
http://www.hkea.cn/news/14488465/

相关文章:

  • 优斗网站建设wordpress微信公众号推送
  • 网站建设案例代理商昆山人才网官网
  • 中怎么做网站上下载图片的功能海南网站设计
  • wordpress静态化占内存么南阳做网站优化价格
  • 泰安网站建设 九微米电销管理系统软件
  • 大足网站设计工业产品设计有哪些
  • 平台网站服务好的做培训网站
  • 郑州做个人网站的公司成都手机网站建设开发
  • 微官网和手机网站一样吗html全屏网站
  • 做网站jsp好还是wordpress feed插件
  • 北京市朝阳区住房建设网站建设网站要那些
  • 网站外包怎么做由音乐学院做的网站
  • 食品网站建设优化案例广州信息流推广公司
  • 阿里企业邮箱个人登录百度搜索引擎优化怎么做
  • 怎么在ppt上做网站房屋室内设计用什么软件
  • 成功案例 品牌网站wordpress+替换字体颜色
  • 网站手机优化百度站长平台推出网站移动化大赛
  • 网站标题权重凡客诚品网站建设策划书
  • 深圳网站制作比较好公司南充房价2023新楼盘房价
  • 如皋市建设局网站手机数据线东莞网站建设
  • 郑州网站优化平台仓库常用erp系统
  • wordpress文章加预览图苏州优化网站
  • 织梦m网站伪静态建设公司的网站首页
  • 免费的企业网站模板怎么做网站赚大钱
  • 郴州市宜章网站建设河北 保定 网站建设
  • 网站建设自学多长时间wordpress list
  • 网站建设模板制作是什么意思wordpress 被入侵 删文章
  • 建材网站建设哪家动漫设计与制作学费
  • 网站建设 淄博 兼职专做投放广告网站
  • 网站标题具体怎样优化北京昌平网站设计