还剩5页未读,继续阅读
文本内容:
人工智能与大数据学院人工程序设计教案n25教学标题项目七面向对象编程任务类的继承和派生3授课班级云计算2101课时2场地4406时间2022年5月24日星期二授课教师李力继承是从已有的类中派生出新的类,新类具有原类的数据属性和行为,并能扩展新的行为;派生类就是从一个已有的类中衍生出新的L项目/任务价值类,在新类的基础上添加新的属性和行为面向对象的编程带来的主要好处之一是代码的复用,实现这种复用的方法之一是通过继承机制知识目标
1.理解继承和派生的概念
2.理解多重继承的概念
3.理解多态
4.了解多重继承和钻石问题能力目标
1.掌握子类的定义
2.学习目标
2.掌握重载和覆盖的应用
3.掌握动态定义新类
4.了解多重继承和钻石问题教学设计思政-素质目标
1.通过学习继承,继承先辈优良传统;
2.通过学习派生,培养改革创新精神;
3.养成小组沟通协作共同学习,解决问题能力和团队合作精神;
41..能任按务照描实述训6s管定理义要父求类做和好子课类前,的实准现备继,承课和后派的生整理工作,培养勤俭、奋斗、创新、奉献的劳动精神;
3.学习内容
2.知识准备父类和子类的定义,继承和派生的概念,
3.任务实施定义父类和子类,子类通过继承父类的优点,通过添加新的行为发扬自己的长处重庆在线开放课程平台《Python开发技术应用》,多媒体课件,理实一体化实训室,网络教学资源,www.pythontutor,com可视化工4,学习资源具、www.processon.com在线流程图绘制工具实物教材,软件工具包
1.理解继承和派生的概念教学重点
2.掌握重载和覆盖的应用
3.理解多态
1.重载和覆盖的应用教学难点
2.多重继承和钻石问题为了提高代码利用率,子类可以继承父类的方法和属性,学习了类的定义后,再学习定义父类和子类相对容易,要学生理解继承的学情分析思想,进一步学习重载和覆盖等多态的实现方法教学方法训练与练习法;情境教学法教学模式采用线上线下混合教学模式介绍本次课教学流程讲解继承的思想讲解父类和子类的定义教学策略讲解覆盖和多重继承讲解钻石问题时间分教学环节学生、教师活动教学方法、手段及思政设计配介绍继承的思想,继承的优点,介课程导学多媒体演示3继承就是派生,子类继承父类,父类派生出子类,通过继承机制,可以提高代码复用率,绍学习任务简单继承、定义子信息调研使模块化的程度更深、更彻底类的属性和方法、调用超类的构讲授、讨论、案例教学造函数、课前发布导学单,线上线下结教学实施过程多重继承让学生讨论如何定义子合,引导学习方式转变,培养类自主学习能力小组协作、沟通、互助学习,培育团队合作意识,引导学生大胆表达引入项目学习任务和目标讲解、演示子类的定义、覆盖方法、多媒体演示2任务1简单继承多重继承启发式教学工作内容小组作品展示和讲解
1.通过继承来定义新类的基本格式
2.定义子类的属性和方法
3.覆盖方法
4.多重继承
5.基类方法搜索顺序
6.新式类其它特性思考并答题多媒体演示45Python的类大致有两种功能,哪启发式教学两种?创建对象、派生子类课内案例习题思政设计【习语】近人学生聆听老师讲解,观看老师编“广大家庭都要弘扬优良家风,码实现,师生共同总结流程要点,以千千万万家庭的好家风支撑起梳理脉络,形成自然语言或伪代全社会的好风气引导同学们传承码描述的文档,学生根据此文档优良家风,继承并发扬前辈优良重新编码,实现程序传统借助名人名言弘扬继承先辈的重要性多重继承的语法定义类的时候,在右侧的括号里书写多个父类,每个父类之间用逗号分隔class ChildClassFatherClassl,FatherClass2,…FatherClassN多重继承案例讲解演示并练习一一猫科动物继承自哺乳动物和掠食动物class Mammalian:#定义哺乳动物类def viviparismself:#胎生printf Givebirth toa child.def breastfeedO:#哺乳喂养print,Breast-feeds thebaby.class Predator:#定义掠食动物类def Predationsei f:#捕食行为print Hunteda prey.class CatMammalian,Predator:#定义猫科动物类,多重继承passcl=Catc
1.v iv ipar ism cl.Predat ionprintCat.—bases_步骤4基类方法搜索顺序继承的特点如果子类正承了父类,那么子类就拥有了父类的所有属性和方法,但子类不能直接访问父类的私有变量和私有方法以及构造方法如果定义一个类,没有继承父类,那么这个类默认承认官方的一个基类bject通过super可以调用父类的方法对于单继承,一个子类只有一个父类对于多继承,一个子类可以有多个父类如果多个父类中有同一个方法,而在子类使用时未指定,那么Python从左至右搜索即方法在子类中未找到时,从左至右查找父类中是否包含方法,还可以通过如下属性查看其内部的查找顺序类名._mro_o深化其他特性小组讨论多媒体演示讨论教学13提供了一个名为_slots_的属性,_slots_的值是一个元组,其中的元素是字符串形式,每让学生动手调试程序,加深理解个字符串代表一个被许可的属性名称slots—的值被用作类属性的白名单添加好允许用户动态添加的属性和方法名,不在名单里的就不允许被添加了直接调用父类中的方法,有一个潜在的问题如果父类被重命名,那么在子类中也必须同步修改可以使用super来避免此问题,super不是一个函数,而是一个类,你要调用的实际上是它的构造方法super需要两个参数,第一个参数是你要调用的目标父类的子类,第二个参数是self,用法如下class Fatherobject:def badself:print tfather:smoking,drinkingclass SonFather:def badself:super Son,self.bad#调用父类中的同名方法print,son:gamblingfs=Sons.bad两种方法对比演示讲解classA:d»f iait“If:print*EnterA-printA*classA:def_iait_self:print*Ener B*print A•uprrCB*a♦IfL printvLe!!ve B-printLLteve AeUat BIACA:def_init_self:Wf_imt_print*EnerC*printEnterB■up*rC.”lf._init_0printLeave C*printLeave BeUsaCAclastDKCWf_init_self priBt*Enter D-print《Enter C*BuprrtD,self._init_0pr intA._init_self printC*0*classDIB.CDOM_init_print【Enter D*B._init_UelOprint*LcmvD DO启发性探讨>继承即一个派生类继承基类的属性和方法继承也允许把一个派生类的对象作为一个基类对象对待当一个类继承自另一个类,它就被称为一个子类派生类,它会继承获取所有父类成员属性和方法继承可以重用代码,增加了可维护性>子类可以直接继承父类的方法,但是继承后,如果发现这个方法不太适合子类,那么就需要重写,也就说可以将这个方法重新实现>完全重写将父类的方法推翻,然后自己重写一个和父类方法名字一模一样的方法,重写的时候,方法的参数可以随便添加和删除子类再去调用该方法的时候,调用的是重写之后的方法>增加功能父类方法对子类来说不是完全没有,子类需要在父类方法的基础上增加一定功能,此时,在重写的过程中,首先需要使用super关键字调用父类的方法,然后再增加功能总结小组总结引导同学总结抢答互动教学
51.继承的概念和作用
2.继承的基本语法
3.方法覆盖
4.多重继承任务多媒体20请大家定义一个Father类,一个Mother类,再定义一个子类继承上面两个类FatherMother类中有身高属性,子类的身高属性为两个父类的平均值两个父类都有good方法,子类要继承并覆盖两个父类的good方法good方法中输出父类的好习惯,比如读书,锻炼,特长等小组评价和个人综合评价(课堂讨论的参与、是否认真笔记)2学业评价补充教学反思教学反思主要问题解决办法本次课的做得好的地方任务实施任务1通过继承来定义新类主体内容思政设计【习语】近人和名言分享步骤1引入简单继承,讲解继承和派生采用交通工具树来讲解父类和子类、继承和派生案例讲解并练习1class Father:def badself:printfather:smoking,drinking**class SonFather:#指定继承父类passsi=Sonsi.bad步骤2讲解覆盖方法对于父类中的方法,子类有下面两种类型的覆盖•在子类中重新实现同名方法,该方法会覆盖继承自父类的方法•父类中的方法包含了较复杂的代码,我们并不想彻底重写,只是希望在此基础上增加一点新功能案例讲解并练习2class Father:def badself:print*father:smoking,drinking*class SonFather:def badself:Father,bad seif#调用父类中的同名方法print Cson:gambling*#只添加父类方法中没有的功能si=Sonsi.bad步骤3多重继承。