2021-Spring-NCU-CS-OOAD:物件导向分析设计|郑永斌教授
《物件导向分析设计》课程由郑永斌教授主讲,主要涵盖了2021年春季在国立中央大学(NCU)计算机科学领域的教学内容。这门课程深入探讨了物件导向编程(Object-Oriented Programming, OOP)的核心概念、原则和方法,特别以C++编程语言为实践工具。通过学习,学生将掌握如何有效地进行软件系统的需求分析、设计以及实现。 课程重点围绕以下几个知识点展开: 1. **物件导向思想**:物件是现实世界中的实体在程序中的抽象,而类是这些实体的模板。课程会讲解如何定义类,包括属性(数据成员)和行为(成员函数),以及封装、继承和多态等面向对象的基本特性。 2. **封装**:封装是隐藏内部实现细节,仅通过公共接口与外界交互的机制。在C++中,通过访问控制修饰符(public, private, protected)来实现封装,以保护数据的安全性。 3. **继承**:继承允许创建一个类(子类)作为现有类(父类)的扩展,从而实现代码重用和层次结构。C++中的单一继承和多重继承机制将在课程中详细阐述。 4. **多态**:多态是不同类的对象可以对同一消息做出不同的响应,增强了程序的灵活性。C++中的虚函数和纯虚函数是实现多态的关键。 5. **设计模式**:课程可能会介绍一些常见的设计模式,如工厂模式、单例模式、观察者模式等,这些都是解决特定问题的标准化解决方案。 6. **需求分析**:在实际项目开发中,理解需求并转化为软件模型至关重要。课程将讲解如何通过用例图、类图、序列图等UML(统一建模语言)工具进行需求分析和系统建模。 7. **软件设计原则**:SRP(单一职责原则)、OCP(开闭原则)、LSP(里氏替换原则)、ISP(接口隔离原则)和DIP(依赖倒置原则)等SOLID原则将被引入,帮助学生构建可维护、可扩展的软件系统。 8. **异常处理**:C++的异常处理机制允许程序员优雅地处理程序运行时的错误,提高程序的健壮性。 9. **C++标准库**:课程还将涵盖C++标准库的使用,包括STL(Standard Template Library)中的容器(如vector, list, set等)、迭代器、算法和函数对象等。 10. **实践项目**:理论学习与实践结合是巩固知识的最好方式。课程可能包含一些编程练习和项目,让学生运用所学知识解决实际问题。 通过对这些知识点的学习,学生将能够运用物件导向分析设计的方法,以C++为工具,进行高效、可靠的软件开发。郑永斌教授的课程将为学生打下坚实的OOP基础,为他们在计算机科学领域进一步深造或职业生涯铺平道路。
- 粉丝: 28
- 资源: 4547
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 【java毕业设计】莲湖小区疫情物资管理系统源码(ssm+mysql+说明文档).zip
- yolo算法-电线杆数据集-1493张图像带标签-.zip
- yolo算法-驾驶员安全带数据集-23320张图像带标签-安全带-电话.zip
- yolo算法-手-人吸烟数据集-20018张图像带标签-手-人.zip
- yolo算法-安全帽数据集-19710张图像带标签-安全帽-无安全帽.zip
- python图片转字符
- yolo算法-dms分神驾驶数据集-15986张图像带标签-喝酒或吃饭-安全带打开-睡着的-进食或饮水-手机.zip
- yolo算法-电线杆数据集-7255张图像带标签-杆顶.zip
- wifi连网与MQTT通信实例
- yolo算法-分神驾驶数据集-8674张图像带标签-没有安全带-唤醒-昏昏欲睡-安全带-电话-打哈欠.zip
评论0