版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
教案教师班级科目C#程序设计开课时间地点机房课题名称项目二:计算图形面积课时数6背景分析本课程是为软件技术专业的学生开设的一门很重要的程序设计类课程。学习者从设计基类Shape类,到派生类的功能扩展。通过本项目,学生体会了类的继承和多态性的不同,掌握了隐藏基类方法,在派生类中重写方法等的使用,为后续更好的理解类和对象打下基础。学生已经具备一定的应用软件能力。根据课程教学目标和学生的专业特点,教学中应当注重培养学生的操作能力、思维能力和学习能力。本课采用以项目教学为主,边讲边做,让学生在做的过程中学会探索、学会合作。学习目标设定1.理解继承的概念。2.掌握如何隐藏基类的方法。3.理解多态的概念培养学生积极思考、敢于尝试,让学生体验学习的乐趣,激发学生对本课程的学习兴趣。学习任务描述学习任务围绕学生成绩统计的综合运用而展开,根据教师设计的项目,并将其分解为任务完成。通过任务的设定,在对比中,引导学生自主学习、合作学习、竞争学习。教学情境创设本节课通过对一个贴近学生生活的项目学习,引导学生做中学习、合作学习。围绕课堂总目标,让学生在不断的成功体验中进行快乐学习。教学资源准备时间资源:课前资料收集、课堂教学、课后资料整理、完成作业信息资源:教案、教学素材人员资源:1位专业教师,1位专业指导教师,学生小组设备资源:2.2GHz或速度更快的CPU、1GB或更大容量的RAM、1280x1024显示器、7200RPM或更高转速的硬盘;操作系统:WindowsXP、Vista或2000以上;开发软件:VisualStudio2005/2008中文版(含MSDN);教学过程实施内容方法【导入】小张需要来计算各类图形的面积,他用C#代码在控制台下设计一个Shape类,并衍生出其他图形面积的计算。【新课】项目二:计算图形面积【项目描述】面积计算主要有三个任务:1.理解继承的概念。2.掌握如何隐藏基类的方法。3.理解多态的概念任务一类的继承【任务描述】(该任务的内容和目的)新建项目,并创建Shape类,指定数据成员,以及构造函数和方法。【任务实施】1.确定Shape类的数据成员,如表所示。数据成员数据类型数据说明WidthDouble宽HeightDouble长2.确定Shape类的构造方法和面积方法,如表所示。构造方法参数列表方法说明Shape()无参数初始化数据成员为0Shape(doublex)一个参数设置长宽值与参数相同Shape(doublew,doubleh)二个参数设置长宽值分别与二个参数相同3.输入Shape类的数据成员,相关代码如下:classShape{protecteddoublewidth;protecteddoubleheight;publicShape(){width=height=0;}publicShape(doublex){width=height=x;}publicShape(doublew,doubleh){width=w;height=h;}publicdoublearea(){returnwidth*height;}}4.Triangle类继承Shape类数据成员以及area()方法,并改写方法内容。classTriangle:Shape//三角形{publicTriangle(doublex,doubley){width=x;height=y;}publicdoublearea(){returnwidth*height/2;}}注:派生类方法与基类方法同名,编译时会有警告信息改进代码如下:classTriangle:Shape//三角形{publicTriangle(doublex,doubley):base(x,y){}newpublicdoublearea(){returnwidth*height/2;}}5.Trapezia类的内容与Triangle类相似,但计算面积的area()方法公式不同,相关代码如下:classTrapezia:Shape//梯形{doublewidth2;publicTrapezia(doublew1,doublew2,doubleh):base(w1,h){width2=w2;}newpublicdoublearea()//加new隐藏基类的area方法{return(width+width2)*height/2;}}6.在Main()方法中赋值,相关代码如下:staticvoidMain(string[]args){ShapeA=newShape(2,4);//长方形Console.WriteLine("A.area={0}",A.area());TriangleB=newTriangle(3,4);//三角形Console.WriteLine("B.area={0}",B.area());TrapeziaC=newTrapezia(3,4,5);//梯形Console.WriteLine("C.area={0}",C.area());A=B;//A指向了B的引用Console.WriteLine("A.area={0}",A.area());A=C;//A指向了C的引用Console.WriteLine("A.area={0}",A.area());}运行结果。任务二类的多态【任务描述】采用另一种更为灵活和有效的手段,理解类的多态性,灵活运用virtual和override关键字。【任务实施】1.Shape类成员同任务一,将area()方法用virtual关键字声明为虚方法,相关代码如下:classShape{protecteddoublewidth;protecteddoubleheight;publicShape(){width=height=0;}publicShape(doublex){width=height=x;}publicShape(doublew,doubleh){width=w;height=h;}publicvirtualdoublearea()//基类中用virtual修饰符声明一个虚方法{returnwidth*height;}}2.Triangle类的area()方法用override关键字重写基类虚方法,相关代码如下:classTriangle:Shape//三角形{publicTriangle(doublex,doubley):base(x,y){}publicoverridedoublearea()//派生类中用override修饰符重写基类虚方法{returnwidth*height/2;}}3.Trapezia类的area()方法同上处理,相关代码如下:classTrapezia:Shape//梯形{doublewidth2;publicTrapezia(doublew1,doublew2,doubleh):base(w1,h){width2=w2;}publicoverridedoublearea()//派生类中用override修饰符重写基类虚方法{return(width+width2)*height/2;}}4.在Main()方法中赋值,相关代码如下:staticvoidMain(string[]args){ShapeA=newShape(2,4);//长方形Console.WriteLine("A.area={0}",A.area());TriangleB=newTriangle(3,4);//三角形Console.WriteLine("B.area={0}",B.area());TrapeziaC=newTrapezia(3,4,5);//梯形Console.WriteLine("C.area={0}",C.area());A=B;//A指向了B的引用Console.WriteLine("A.area={0}",A.area());A=C;//A指向了C的引用Console.WriteLine("A.area={0}",A.area());}运行结果【项目小结】 学习者从设计基类Shape类,到派生类的功能扩展。通过本项目,学生体会了类的继承和多态性的不同,掌握了隐藏基类方法,在派生类中重写方法等的使用,为后续章节更好的学习打下基础。【思考与练习】请学生参照上例,定义基类Shape类,以及衍生功能的派生类矩形、正方形、三
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026医疗器械洁净车间环境管控规程
- 化工园区总图布置设计规范
- 初中数学八年级下册核心知识清单:不等式的基本性质深度解析与应用指南
- 初中英语七年级School Life单元整体深度教学设计与暑期升级训练方案
- 译林版小学六年级英语上册Unit 3 Storytime高效互动教案
- 人教精通版四年级上册 Unit 3 复习课教学设计
- 消防自动报警工程设备选型方案
- 重庆某新能源智能船舶项目可行性研究报告模板
- 五金车间量具仪器管理规范
- 安防设备研发部结构设计手册
- 离婚协议标准版(有两小孩)
- DLT5155-2016 220kV~1000kV变电站站用电设计技术规程
- 住院医师运行病历检查评分表(医院肿瘤科表格模板)
- 初二物理期末试卷带答案
- 基于人工智能的个性化学习
- JJG 927-2013轮胎压力表检定规程
- 空调电气安装工程施工方案
- 9部个人有关事项报告表(2014年新版)1
- 徐教授神奇沙棘
- “三龄两历一身份”核定表
- 废热锅炉维护检修规程
评论
0/150
提交评论