第1页共6页《C#程序设计》课程教学单元设计单元3面向对象的C#授课教师:C#课程组授课班级:单元总学时:12教学条件实训室、预装VisualStudio2010的计算机、投影设备、广播软件、互联网络教学素材参考教材、教学课件、授课录像、案例库、网上交流平台教学目标设计知识目标:(1)理解面向对象的封装性、继承性和多态性;(2)掌握类的定义;(3)掌握静态方法和静态类;(4)掌握C#的继承语法;(5)掌握接口的声明和实现的语法;(6)理解抽象方法和接口的作用。能力目标:(1)能理解面向对象的封装性、继承性、多态性;(2)能将常见的事物抽象成恰当的类;(3)能正确定义类和类的成员,能使用访问修饰符控制封装程度;(4)能以对象及对象与对象的相互作用来分析问题;(5)能以继承表示实际问题中分类;(6)能理解并使用接口约定不同类型对象的行为;(7)能理解接口和抽象类的差别。教学内容(1)类的定义方法;(2)类的成员:字段、方法、属性;(3)访问修饰符的使用方法;(4)类的使用——对象;(5)静态方法和静态类;(6)命名控件的意义;(7)类的继承;(8)密封类和密封方法;(9)抽象类的定义;(10)多态的实现方法;(11)接口的申明与实现。重点:(1)正确定义类和类的成员;(2)掌握类的继承;(3)接口的申明与实现;(4)多态的实现。难点:理解面向对象的封装性、继承性和多态性。课后作业(1)拓展实践3;(2)拓展实践1设计一个时间类(Time),该类能够显示时间,并对时、分、秒做加第2页共6页1和减1的操作;(3)根据任务2中创建的学生类,创建两个构造方法,一个构造方法不传值,为其各属性赋默认值,另一个构造方法传4个值,分别为:姓名、年龄、班级和学号,并将传入的变量赋给对应的属性;利用循环生成10个学生对象,并求所有学生的平均年龄;(4)定义一个交通工具(Vehicle)类,拥有轮子和重量两个公共属性,并派生出小汽车(Car)类添加载客人数属性,并定义显示车辆信息的方法;(5)定义抽象类Pet(宠物)类为基类,类中定义两个私有字段毛色和年龄,定义虚方法完成宠物的自我介绍功能;定义两个派生类Cat和Dog,重写基类方法;定义包含主方法的类MainClass,调用派生类的重写方法;(6)设计开关接口,分别实现对电扇和电灯的控制。教学过程设计任务1类的定义及使用(学时数:4)主要步骤教学内容教学方法教学手段师生活动知识引入引例——使用类的方法,描述一个汽车类,并使用该类引例演示启发引入多媒体软件演示教师:操作演示学生:观察思考知识讲解知识点1:类的定义,定义一个汽车类的基本形式。知识点2:类成员的定义:字段、方法、属性和索引器,为汽车类设计字段、方法、属性和索引器。知识点3:访问修饰符的使用(private和public)。知识点4:类的使用——对象,输出和修改汽车的相关信息。启发讲解操作演示分组讨论多媒体软件演示教师:启发讲授操作演示学生:交流互动分组讨论整理笔记实践训练实践任务1:设计一个学生类,该类能够记录学生姓名、年龄、班级和学号信息。实践任务2:为学生类设计一个显示信息的方法。实践任务3:输出和修改学生的相关信息。讲练结合一体化学生:实践操作教师:巡视指导归纳总结1.实践训练完成情况。2.实践训练存在的问题。汇报展示师生点评多媒体学生:汇报展示集体点评第3页共6页3.知识要点:(1)类定义的格式,关键字class;(2)类成员的定义:字段、方法和属性;(3)访问修饰符的作用,实现程序的封装性;(4)声明对象并实例化;(5)通过“.”访问对象中的成员。归纳总结教师:组织总结引导创新作业布置拓展实践3,设计一个时间类(Time),该类能够显示时间,并对时、分、秒做加1和减1的操作。提示:display(),addSecond(),addMinute()操作演示多媒体教师:布置作业提出要求任务2构造方法、静态成员和命名空间(学时数:3)主要步骤教学内容教学方法教学手段师生活动知识引入引例——描述一个长方形类,并使用该类,在使用时希望能够方便的实现长和宽值传入。引例演示启发引入多媒体软件演示教师:操作演示学生:观察思考知识讲解知识点1:构造方法的定义和使用,为长方形类显示声明默认构造方法。知识点2:重载,为长方形类添加一个参数构造方法和两个参数构造方法。知识点3:静态成员和静态类,计算生成的长方形对象的个数。知识点4:命名空间的意义,定义命名空间的方法。启发讲解操作演示分组讨论多媒体软件演示教师:启发讲授操作演示学生:交流互动分组讨论整理笔记实践训练实践任务1:定义一个快餐类,包含快餐中荤菜类型、素菜类型、是否带汤,以及价格,要求实现构造函数重载,用实现对象初始化。实践任务2:计算生成快餐对象的个数。实践任务3:在不同的命名空间中定义同名快餐类,二者区别为构造函数不同,使用这两个类。讲练结合一体化学生:实践操作教师:巡视指导第4页共6页归纳总结1.实践训练完成情况。2.实践训练存在的问题。3.知识要点:(1)构造方法的特点:一般为public,无返回类型,方法名与类名相同;(2)构造方法的使用,对象实例化时对成员传值;(3)重载的概念;(4)静态成员和静态类的关键字static;(5)命名控件区分同名类,并层次化类。汇报展示师生点评归纳总结多媒体学生:汇报展示集体点评教师:组织总结引导创新作业布置拓展实践3,选择,判断,根据任务2中创建的学生类,创建两个构造方法,一个构造方法不传值,为其各属性赋默认值,另一个构造方法传4个值,分别为:姓名、年龄、班级和学号,并将传入的变量赋给对应的属性;利用循环生成10个学生对象,并求所有学生的平均年龄。操作演示多媒体教师:布置作业提出要求任务3类的继承(学时数:2)主要步骤教学内容教学方法教学手段师生活动知识引入引例——定义一个Animal类,包含Type属性,toString()方法和sound()方法,并派生出Dog类、Cat类,派生类拥有另外一个属性Name。引例演示启发引入多媒体软件演示教师:操作演示学生:观察思考知识讲解知识点1:类的继承。知识点2:继承隐私保护。知识点3:继承时构造函数的调用。启发讲解操作演示分组讨论多媒体软件演示教师:启发讲授操作演示学生:交流互动分组讨论整理笔记实践训练实践任务描述一个长方体类(包含长宽高,带三个参数的构造方法,以及体积计算方法),并派生一个正方体类。讲练结合一体化学生:实践操作教师:巡视指导第5页共6页归纳总结1.实践训练完成情况。2.实践训练存在的问题。3.知识要点:(1)派生类的定义方法;(2)protected访问修饰符作用;(3)继承的顺序,继承的特点子类只能继承自一个父类;(4)构造方法和方法的继承。汇报展示师生点评归纳总结多媒体学生:汇报展示集体点评教师:组织总结引导创新作业布置拓展实践3,定义一个交通工具(Vehicle)类,拥有轮子和重量两个公共属性,并派生出小汽车(Car)类添加载客人数属性,并定义显示车辆信息的方法。操作演示多媒体教师:布置作业提出要求任务4多态(学时数:2)主要步骤教学内容教学方法教学手段师生活动知识引入引例——描述一个几何图形类,并派生出长方形类、正方形类、圆形类。引例演示启发引入多媒体软件演示教师:操作演示学生:观察思考知识讲解知识点1:虚方法和方法隐藏。知识点2:抽象类和抽象方法。启发讲解操作演示分组讨论多媒体软件演示教师:启发讲授操作演示学生:交流互动分组讨论整理笔记实践训练实践任务:设计一个绘画类(DrawingBase),并派生出Line类和Circle类,重载Draw(),显示不同的信息。讲练结合一体化学生:实践操作教师:巡视指导归纳总结1.实践训练完成情况。2.实践训练存在的问题。3.知识要点:(1)方法隐藏,关键字;(2)虚方法实现多态;(3)抽象类和抽象方法。汇报展示师生点评归纳总结多媒体学生:汇报展示集体点评教师:组织总结引导创新作业布置定义抽象类Pet(宠物)类为基类,类中定义两个私有字段毛色和年龄,操作演示多媒体教师:布置作业提出要求第6页共6页定义虚方法完成宠物的自我介绍功能;定义两个派生类Cat和Dog,重写基类方法;定义包含主方法的类MainClass,调用派生类的重写方法。任务5接口(学时数:2)主要步骤教学内容教学方法教学手段师生活动知识引入引例——设计一个遥控器,分别实现电视机遥控和DVD的遥控。引例演示启发引入多媒体软件演示教师:操作演示学生:观察思考知识讲解知识点1:接口的定义。知识点2:接口的使用。启发讲解操作演示分组讨论多媒体软件演示教师:启发讲授操作演示学生:交流互动分组讨论整理笔记实践训练实践任务:设计一个交通工具行驶和停止接口,分别定义小汽车类和卡车类,继承该接口。讲练结合一体化学生:实践操作教师:巡视指导归纳总结1.实践训练完成情况。2.实践训练存在的问题。3.知识要点:(1)接口是独立于类来定义的。(2)接口可以定义属性、方法、事件和索引器。(3)接口不能继承类,类和接口可以继承多个接口。(4)类继承了接口就要实现接口里的每个成员。汇报展示师生点评归纳总结多媒体学生:汇报展示集体点评教师:组织总结引导创新作业布置设计开关接口,分别实现对电扇和电灯的控制。操作演示多媒体教师:布置作业提出要求