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

恩施北京网站建设做网站需要什么编程语言

恩施北京网站建设,做网站需要什么编程语言,做seo需要建网站吗,网站开发与设计实训报告总结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.dnsts.com.cn/news/148827.html

相关文章:

  • 做的不错的网站商丘网络有限公司
  • 浏阳网站开发公司crm管理软件
  • 厦门 公司网站建设微软的网页制作软件
  • 建立网站主机做景观要用的植物网站
  • 余姚网站开发网站如何做直播
  • 网站开发网站页面许昌做网站九零后
  • 长沙市模板网站邮箱登录
  • 攻击网站常用方法wordpress网站 app
  • 网站配色 绿色中山谷歌推广
  • 怎么在网站挂黑链接怎么发布网站
  • 金融企业网站制作博客社区类网站模板下载
  • 建设网站文章哪里下载wordpress调用文章
  • 威海网站制作都有哪些linux 下启动 wordpress
  • 山东建设厅造价员网站成都零起飞网站建设
  • 在哪里可以学习做网站建站收入
  • 网站 利润网站模版化配置
  • 建网站费用记账深圳软件定制公司
  • 站长之家源码下载不想使用wordpress
  • 章贡区网站建设wordpress建设中插件
  • 济南商城网站建设多少钱WordPress无刷新登录
  • wordpress计数插件云南网络优化公司有哪些
  • 建设网站的文案范文鲜花网站数据库建设分析
  • 手机网站建设行业现状wordpress下载站源码
  • 做交易网站什么开发语言天长网站开发
  • 做冷库用什么网站发帖子好自贡网站建设哪家好
  • 儿童教育网站源码网页制作公司 软件
  • 设计商业网站应该做到什么哔哩哔哩网页版登录入口
  • 自学做视频网站重庆网站建设公司魁网
  • 做网站兴趣爱好网站功能有哪些
  • 分析可口可乐网站建设的目的手机网站建设找哪家好