说课人:C++程序设计类与对象定义日期:年月01教学分析P302教学设计P803教学方法P1104教学过程P12目录CONTENTS05教学考核P30第3页课程定位教学分析主要分析本门课程性质和课程目标,以及学生通过本门课程的学习需要达到的效果。课程资源主要介绍本门课程的教学及实验环境,教材的选择。课程内容本门课程在教学过程中课时分配和主要讲解的内容。一、教学分析LOGO第4页一、教学分析LOGO课程性质本课程是计算机科学与技术、网络工程专业的一门重要的专业基础课。本课程的主要任务是使学生对程序设计入门、掌握程序设计方法以及把握C++程序设计的灵魂。课程目标熟练掌握C++语言语法基础、面向对象程序设计思想与方法;具备解决简单应用问题的综合技能;培养良好的思想修养、责任感和团队协作精神;培养其自主学习能力、逻辑思维能力、软件开发规范。课程要求了解面向对象设计的思想和方法;掌握c++基本语法知识;掌握类和对象的概念和关系;掌握用C++语言进行程序设计并具备调试程序的能力。一、课程定位第5页一、教学分析LOGO二、课程资源1、教学与实验环境多媒体教学(课件演示)实训课,学生人手一台电脑,开发环境visual20152、教材选用依据:结合学生实际情况,本课程包含c和c++语法知识;理论与实践结合,浅显易懂;学生在完成案例的过程中掌握编程技巧,调动学习积极性;综述选用清华大学出版社,沈显君主编的教材《c++语言程序设计教程》第6页一、教学分析LOGO三、课程内容总学时72(每周6学时)理论48学时实训24学时1、课时分配根据学生实际需要以及教学大纲的要求,教学内容在原教材的基础上对课本内容进行适当的删减。选讲1-7章及10、12章共九章内容。第7页一、教学分析LOGO章节内容讲课学时实验学时小计学时第1章面向对象程序设计概述404第2章C++语言基础8412第3章构造数据类型8412第5章类与对象8412第6章继承与派生426第7章多态性8412第10章c++输入输出流与文件系统426第12章异常处理426三、课程内容2、课程主要内容介绍第8页二、教学设计LOGO教学设计理念:以实践为思想-------提高动手编码能力以培养能力为核心------培养编程思想以应用为目的-------解决实际应用问题第9页语法基础•例如基本数据类型,运算符、表达式、变量的声明、三种控制结构。数组、指针函数•构造数据类型:一维数组、二维数组的定义和引用、字符数组;指针的含义,指针与数组的关系。•函数间数据的传递方式,变量作用域,参数结合规则。教学重点二、教学设计LOGO继承、多态•自定义构造函数的声明,继承方法及访问权限,实现多态的方法。第10页循环结构•for、while、do-while循环。•解决方法:实际例题讲解数组、指针函数•数组的存取;指针的含义,指针与数组的结合。•解决方法:联系数学中的矩阵•函数间数据的传递方式:传地址、传引用、传值;•函数中变量作用域;•解决方法:了解变量生存周期,不同传递方式的区别教学难点二、教学设计LOGO类和对象定义,构造函数声明•类成员的声明;子类的构造函数的声明和调用顺序;•类对象的定义;数据成员和成员函数的访问权限。•解决方法:实例操作演示,结合现实例子讲解代码第11页课前复习课前导入新课教授总结、实践训练复习是对之前知识的回顾,也是课堂教学的基础;通过复习让学生掌握课本知识前后联系。教学情境导入可以激发学生的学习兴趣,举例生活中常见对示例,启发学生用编程思想实现,自然而然引入本节内容。让学生提前预习,注重重点和难点,理论与实践操作结合。小结是对课堂知识的再次回顾,突出重点和难点内容。课后训练是为让学生尽快理解掌握课堂知识,每节课后都有训练题,要求学生独立完成三、教学方法LOGO讲授法+练习法+自主学习法第12页第五章类与对象的定义四、教学过程LOGO第13页课前复习四、教学过程LOGO提问学生回答:怎样定义结构体、结构体数组和引用?怎样求结构体所占内存大小?常引用的特点第14页学习目标四、教学过程LOGO1.掌握类的定义,会根据需求设计类;2.能够根据类创建各种对象;3.掌握对象的各种成员的使用方法;第15页重点四、教学过程LOGO类的定义;类对象的创建;各种成员的使用方法;难点根据实际需求设计类;对象的各种成员的使用方法;第16页新课导入四、教学过程LOGO类与对象的概念;对象是现实世界中实际存在的事物,具有属性和行为特征;类是具有相同属性和行为特征的一组对象集合;现实世界中的类与对象;第17页新课导入四、教学过程LOGO身边的对象布兰尼朱丽叶顾客姓名:朱丽叶年龄:28体重:52千克操作:购买商品姓名:布兰尼职衔:收银员年龄:35体重:60千克操作:收款打印账单第18页新课导入四、教学过程LOGO对象的属性•属性——对象具有的各种特征•每个对象的每个属性都拥有特定值–例如:布兰尼和朱丽叶的体重不一样体重姓名属性年龄收银员布兰尼布兰尼60千克35岁第19页新课导入四、教学过程LOGO对象的行为•行为——对象执行的操作打单收银行为刷卡收银员布兰尼第20页新课导入四、教学过程LOGO•说一说教室里的对象•描述他们的属性和方法颜色:黑色品牌:BENQ投影姓名:张三年龄:20学习类型:白炽灯开关变亮变暗材制:木质支撑物品第21页新课导入四、教学过程LOGO类是具有相同属性和行为的一组对象的集合人类动物类汽车类类的示例第22页新课导入四、教学过程LOGO类和对象的区别•类是具有共同属性和行为的对象的抽象;•类可以定义为数据和方法的集合;•类也称为模板,因为它们提供了对象的基本框架;类对象抽象实例化第23页新课教授四、教学过程LOGO1、类的定义类是一个包含数据和方法的结构体,是用户自定义的数据类型。因此,类的定义与结构类型的定义相似,其格式如下:class类名{public:公有数据成员或公有函数成员的定义;protected:保护数据成员或保护函数成员的定义;private:私有数据成员或私有函数成员的定义;};说明:关键字class表明定义的是一个类;类名是类的名称,应是一个合法的标识符;public、protected、private为存取控制属性(访问权限),用来控制对类的成员的存取。如果前面没有标明访问权限,默认访问权限为private。类的成员有数据成员与函数成员两类,类的数据成员和函数成员统称为类的成员,类的数据成员一般用来描述该类对象的属性,称为属性;函数成员是描述类行为,称作方法。函数成员由函数构成,这些作为类成员的函数因此也叫函数成员。第24页2、数据成员四、教学过程LOGO类定义中的数据成员描述了类对象所包含的数据类型,数据成员的类型可以是C++基本数据类型,也可以是构造数据类型。例:定义一个时钟类ClockclassClock{private:intH,M,S;//时钟的时、分、秒}问题:定义一个学生类Student第25页3、成员函数四、教学过程LOGO作为类成员的成员函数描述了对类中的数据成员实施的操作。C++可以在类内声明成员函数的原型,在类外定义函数体。这样做的好处是相当于在类内列了一个函数功能表。在类外定义函数体的格式如下:返回值类型类名::成员函数名(形参表){函数体;}::是类的作用域分辨符,用在此处,放在类名后成员函数前,表明后面的成员函数属于前面的那个类。第26页3、成员函数四、教学过程LOGO例如:classClock{private:intH,M,S;public:voidSetTime(inth,intm,ints);//声明成员函数voidShowTime();//声明成员函数};在类外实现成员函数如下:voidClock::SetTime(inth,intm,ints){H=h,M=m,S=s;};voidClock::ShowTime(){coutH:M:Sendl;}第27页4、对象建立四、教学过程LOGO类相当于一种包含函数的自定义数据类型,它不占内存,使用已定义的类建立对象就像用数据类型定义变量一样。对象建立后,对象占据内存,变成了一个“实”体。类与对象的关系就像数据类型与变量的关系一样。其实,一个变量就是一个简单的不含成员函数的数据对象。建立对象的格式如下:类名对象名;•其中,对象名可以是简单的标识符,也可以是数组。•例如:ClockMyClock;//建立了一个Clock型的对象MyClock。第28页小结:四、教学过程LOGO如何定义类与对象如何建立与使用对象;第29页注重实践,强化运用四、教学过程LOGO作业:定义一个汽车类,每辆汽车都具有轮胎,颜色、方向盘、座椅;并且能够向前行驶,向后行驶。请使用程序设计语言描述汽车类。实践训练:第30页五、教学考核LOGO课程考核方式本课程考核采用闭卷形式。试题包括基本概念,程序阅读,程序设计等。题型可采用选择题,填空题,读程序写结果,程序填空,编程题等方式。总评成绩:课外作业情况、平时课堂表现、考勤情况共占40%;期末闭卷考试,占60%。说课人:谢谢您的聆听日期:月日