《《面向对象程序设计2》课程教学大纲.docx》由会员分享,可在线阅读,更多相关《《面向对象程序设计2》课程教学大纲.docx(11页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、面向对象程序设计2教学大纲一、课程基本信息课程名称面向对象程序设计Object-Oriented Programming课程编码OSI123121030开课院部海洋与空间信息学院课程团队(未设置)学分3.0课内学时58讲授28实验0上机30实践0课外学时0适用专业地理信息科学授课语言中文先修课程程序设计(C)课程简介 (限选)该课程是地理信息科学专业的一门专业限选课,详细阐述面向对象系统的基本理论与面向对象程序设计语言的基本知识,使学生能够 掌握C+面向对象编程语言,为后续相关课程的开发奠定基础。主要教学内容如下:1、C+语言对C语言的扩展:C+输入输出流、数据类型、常变量与指针、引用传递等。
2、2、类与对象:类定义与类成员的实现、构造函数与析构函数的作用及使用、对象的创建、赋值和复制以及对象的动态创建与释放、 友元类与友元函数以及静态成员的定义与使用。3、类的继承与派生:派生类的定义与构成、单继承与多继承的实现与类的组合、不同继承方式对类成员访问权限的影响。4、多态性与虚函数:编译时与运行时多态性、虚函数、纯虚函数与抽象类和运算符重载。5、模板与异常处理:函数模板与类模板、STL中常用的容器与迭代器和C+异常处理机制。6、输入与输出:C+输入/输出流库、预定义类型数据的输入和输出、格式控制和文件的输入和输出课程基本要求如下:1、熟练掌握C+语言的基础知识;2、掌握面向对象编程的基本思
3、想,深入理解面向对象编程的基本概念和方法;3、熟练地使用C+语言进行面向对象的程序设计和代码编写过程中的调试方法。This course is an elective course for geography information science major, which elaborates the basic theory of object-oriented system and the basic knowledge of object-oriented programming language. Through learning the course, students shoul
4、d master the main knowledge of C+, which lays the foundation for the design and development of the other subject.Main teaching contents are as follows:1 C+ language extension: C+ input output stream, data type, constant variable and pointer, reference transfer, etc.2 Classes and objects, the class d
5、efinition and the realization of the members of the class, the constructor and destructor function and use, create, assignment and replication, as well as the object of dynamically create and release, friend class and function as well as the definition and use of static members.3 Inheritance and der
6、ivation of classes: the definition and composition of derived classes, the combination of single inheritance and multiple inheritance, and the influence of different inheritance modes on the access rights of class members.4 Polymorphism and virtual function: compile with runtime polymorphism, virtua
7、l function, pure virtual function and abstract class and operator overloading.5 Templates and exception handling: function templates with class templates, STL common containers and iterators and c + exception handling mechanisms.6 Input and output: c + input/output stream library, input and output o
8、f predefined type data, format control, and input and output of files.The basic requirements of the course are as follows:1 Familiar with the basic knowledge of c + +;2 Grasp the basic idea of object-oriented programming and understand the basic concepts and methods of object-oriented programming.3
9、Proficient in using c + language for object-oriented programming and debugging of code writing.负责人大纲执笔人审核人二、课程目标序号代号课程目标OBE毕业要求指标点任务自选1Ml目标1 :在理解面向对象设计思想的基础上,重点掌握类的封装、继承与多态。是2.12.12M2目标2 :在熟练掌握类的基础上,结合STL,基于C+实现文件的处理是2.12.13M3目标3 :针对地理信息科学领域中的问题,初步能够按照面向对象的思想进行封装处理是2.22.2三、课程内容序号章节号标题课程内容/重难点支撑课 程目标
10、课内 学时教学方式课外 学时课外坏节1第1章第1章面向对象 程序设计概述本章重点难点:类与对象;消息与事件;方法与属性;面向对 象程序设计的特征/2讲授2课后作业21.11.1什么是面向对程序设计的发展;OOP的基本特征Ml/象程序设计31.21.2为什么要使用 面向对象程序设计结构化程序设计的缺点;OOP的优点Ml/41.31.3面向对象程序 设计的语言OOP的发展状况Ml/5实验1结合C语言熟悉VS2015开发平台基于VS2015开发平台,编写C语言程序,熟悉VS2015平台 的相应功能Ml2上机2编写程序6第2章第2章 C+程序 设计基础本章重点难点:C+I/O ; const修饰符;内
11、联函数;引用;new 与delete运算符;作用域与可见性4讲授2编写程序72.12.1 C+起源与特 点C+特点Ml/82.22.2 C+源程序的 构成头文件与源文件Ml/92.32.3 C+在非面向 对象方面的扩充cin、couts const,内联函数、默认参数函数、函数重载、 new、deletex 弓|用Ml/10实验2C+基础练习C+基本输入、输出、特殊函数(默认参数、重载)、动态分配 空间与引用Ml2上机2编写程序11第3章第3章类与对象本章重点难点:类的定义与实现;构造函数与析构函数;访问 属性;this指针;静态成员;友元;类的组合6讲授6课后作业123.13.1类的定义与实
12、 现结构体与类、类定义、类实例化Ml/133.23.2类的成员函数 与成员变量成员函数、成员变量、访问属性Ml/14333.3类对象与访问 方法类实例化、类成员访问Ml/153.43.4构造函数与析 构函数构造函数、析构函数Ml/163.53.5对象数组与对 象指针对象数组、对象指针Ml/173.63.6对象的复制与 赋值拷贝构造函数Ml/183.73.7静态成员与常 类型静态成员、常类型Ml/193.8友元函数与友元类友元函数、友元类Ml/203.9类的组合类定义中包含其它类的对象Ml/21实验3类的定义与类对象 及其成员添加手动和向导添加类;向导添加类成员Ml2上机2编写程序22实验4类的
13、构造函数及类 对象的复制与赋值构造函数定义、重载、拷贝构造函数Ml2上机2编写程序23实验5静态成员、友元函 数与友元类和类的 组合静态成员定义与访问、友元函数与友元类定义与使用Ml2上机2编写程序24实验6类综合实验利用类的思想,实现对自然地理中的研究对象“土壤”的封装与 定义M32上机2编写程序25第4章第4章派生类与 继承本章重点难点:类的继承与派生;子类与父类的构造函数与析 构函数;基类成员的访问;函数重写;虚基类;赋值兼容规则6讲授6课后作业264.14.1派生类的概念 与访问规则派生类定义、派生访问属性Ml/274.24.2派生类的构造 函数和析构函数派生类的构造函数、析构函数Ml
14、/284.34.3派生类的访问 权限控制派生类中成员的访问权限与派生类的访问权限Ml/294.44.4基类成员的访 问父类成员函数与成员变量在派生类内部和外部的访问Ml/304.54.5同名成员与访 问声明私有派生时,子类内部如何实现对父类公有成员的访问Ml/314.64.6多重继承派生时多个父类Ml/324.74.7虚基类与二义 性多重继承在多层次中导致子类中成员的重复Ml/334.84.8赋值兼容规则子类对象强制转换为父类类型Ml/34实验7派生类的声明及其 构成测试不同的派生方式及其对类成员的影响Ml2上机2编写程序35实验8派生类对象成员的 初始化与同名成员派生类与父类之间的构造函数以
15、及同名成员的访问Ml2上机2编写程序36实验9多重继承与虚基类多重继承下的成员访问及其二义性和解决方案Ml2上机2编写程序37实验10类继承派生综合实 验在实验6的基础上,派生子类“黄土”、“红壤”M32上机2编写程序38第5章第5章多态性与 虚函数本章重点难点:运算符重载;虚函数;纯虚函数4讲授2课后作业395.15.1多态的实现方 式动态编译、静态编译、函数重载Ml/405.25.2类型转换类型转换与动态指针Ml/415.35.3虚函数定义与 作用虚函数Ml/425.45.4虚函数与重载 函数重载函数Ml/435.55.5虚函数与多继 承二义性中的虚函数Ml/445.65.6纯虚函数与抽
16、象类纯虚函数、抽象类Ml/455.75.7运算符重载运算符、重载Ml/46实验11虚函数、虚析构函 数与抽象类测试类中虚函数、虚析构函数的应用以及工程中抽象类的添加 与实现Ml2上机2编写程序47实验12类、继承派生与多 态综合实验结合实验06、10,进一步完善“土壤”类的功能M32上机2编写程序48第6章第6章模板与异 常处理本章重点难点:函数模板;类模板;STL;异常处理4讲授2课后作业496.16.1模板定义与作 用模板与重载M2/506.26.2函数模板函数模板与模板函数M2/516.36.3类模板类模板定义与实例化M2/526.46.4 STLlist、vectorx set、map
17、、iteratorM2/536.56.5异常处理异常定义M2/54实验13模板与STL使用模板函数与函数模板、常用STL容器M22上机2编写程序55第7章第 7 章 C+ I/O 流库本章重点难点:1/0流库的格式控制与文件读写2讲授2课后作业567.17.1 C+流库及其 基本结构流库M2/577.27.2 C+格式输入 输出标准输入输出M2/58实验15STL、结构体与文 件处理不同组织形式的数据写入文件M32上机2编写程序597.47.4二进制文件读 写read、writeM2/607.37.3文本文件读写文本文件写入、读取操作符M2/61实验14文件读写基于C+系统函数实现文本文件、二
18、进制文件的读写处理M22上机2编写程序四、考核方式序号考核环节操作细节总评占比1平时作业Is每周布置1道上机编程题。2、成绩采用白分制,根据作业完成准确性、是否按时上交、是否独立完成评分。3、考核学生对于C+语言相应讲授内容的掌握与应用,题型为上机编程。30%2上机1、本课程30个学时上机,共计15次。2、成绩采用白分制,根据实验完成情况评分。3、考核学生对每一次学习过的OOP基础知识的掌握与应用能力。2.根据模型建立情况和实验方案的准确性评分。20%3期末考试1、开卷考试,成绩采用百分制,卷面成绩总分100分。3、主要考核学生对面向对象程序设计基本知识的掌握能力,学生综合运用所学知识的应用能
19、力,题型为上机编程。50%五、评分细则序号课程目标考核环节大致占比评分等级1Ml平时作业30%A-按时完成,程序规范,可读性好,维护容易,代码逻辑清晰,程序能够编译。B-按时完成,程序规范,可读性好,维护容易,代码组织不简洁。C-按时完成,程序比较规范,可读性较好,维护相对容易,代码逻辑比较清晰。 D-作业抄袭,未能按时完成,程序不规范,可读性差,不利于维护, 逻辑不清晰且存在错误。2Ml上机20%A-上机过程中认真完成上机要求,态度端正,遇到问题积极请教老师或同学。 程序规范,可读性好,维护容易,代码逻辑清晰。B-上机过程中认真完成上机要求,态度端正,遇到问题积极请教老师或同学, 程序规范,
20、可读性好,维护容易,代码组织不简洁。C-上机过程中认真完成上机要求,态度端正,遇到问题积极请教老师或同学, 程序比较规范,可读性较好,维护相对容易,代码逻辑比较清晰。D-上机过程中不能完成上机要求,态度不端正,程序编译错误。3Ml期末考试50%(见试卷评分标准)4M2平时作业30%A-按时完成,程序规范,可读性好,维护容易,代码逻辑清晰,程序能够编译。B-按时完成,程序规范,可读性好,维护容易,代码组织不简洁。C-按时完成,程序比较规范,可读性较好,维护相对容易,代码逻辑比较清晰。 D-作业抄袭,未能按时完成,程序不规范,可读性差,不利于维护, 逻辑不清晰且存在错误。5M2上机20%A-上机过
21、程中认真完成上机要求,态度端正,遇到问题积极请教老师或同学。 程序规范,可读性好,维护容易,代码逻辑清晰。B-上机过程中认真完成上机要求,态度端正,遇到问题积极请教老师或同学, 程序规范,可读性好,维护容易,代码组织不简洁。C-上机过程中认真完成上机要求,态度端正,遇到问题积极请教老师或同学, 程序比较规范,可读性较好,维护相对容易,代码逻辑比较清晰。D-上机过程中不能完成上机要求,态度不端正,程序编译错误。6M2期末考试50%(见试卷评分标准)7M3平时作业50%A-按时完成,程序规范,可读性好,维护容易,代码逻辑清晰,程序能够编译。 B-按时完成,程序规范,可读性好,维护容易,代码组织小简
22、洁。C按时完成,程序比较规范,可读性较好,维护相对容易,代码逻辑比较清晰。 D-作业抄袭,未能按时完成,程序不规范,可读性差,不利于维护, 逻辑不清晰且存在错误。8M3上机50%A-上机过程中认真完成上机要求,态度端正,遇到问题积极请教老师或同学。 程序规范,可读性好,维护容易,代码逻辑清晰。B-上机过程中认真完成上机要求,态度端正,遇到问题积极请教老师或同学, 程序规范,可读性好,维护容易,代码组织不简洁。C-上机过程中认真完成上机要求,态度端正,遇到问题积极请教老师或同学, 程序比较规范,可读性较好,维护相对容易,代码逻辑比较清晰。D-上机过程中不能完成上机要求,态度不端正,程序编译错误。评分等级说明:A,B,C,D,E=90-100,80-89,70-79,60-69,0-59;A,B,C,D=90-100,75-89,60-74,0-59;A,B,C=90-100,75-89,60-74,0-59;A,B=80-100,0-79六、教材与参考资料序号教学参考资料明细1图书IC+面向对象程序设计,邵兰洁等,清华大学出版社,2015. (*主教材)2图书IC+程序设计,谭浩强,清华大学出版社,2015.3图书IC+面向对象程序设计教程,陈维兴等,清华大学出版社,2009.