2020年11月,在北京市海淀区教育委员会办公室关于印发《北京市海淀区初中音乐、美术、信息技术、劳动技术学业水平考试实施方案》的通知中规定信息技术考试主要包括五个部分,其中就包括程序设计,这也从官方的角度加重了编程教育的重要性。#极客晨星# #少儿编程# #儿童教育# #应采儿# #应采儿极客晨星少儿编程明星体验官#
第十四章第三节(14.4):衍生类与基类有相同名称的方法
程序设计时,衍生类也可以有自己的方法,同时也有可能衍生类的方法名称和基类方法名称重复,碰上这个状况Python会先寻找衍生类是否有这个名称,如果有则优先使用,如果没有则使用基类的名称内容。
例1:衍生类与基类名称重复的实例。这个程序的基类与衍生类均有banl_title()函数,Python会触发bank_title()方法的对象去判别应使用哪一个方法执行(案例与执行结果见下图图一)。
说明:例1程序的思路如下(调用关系如下图图二):第29行的bank_title()是属于Banks类,第36行的bank_title()是属于Pudong_Banks类。第39行是Banks对象,所以41行会触发第36行的bank_title()方法。其实上述方法是就是面向对象的多类,但是多类不一定需要是有父子关系的类。可以将以上方法想成方法多功能化,相同的函数名称,放入不同类型的对象可以产生不同的结果。使用者可以不必知道是如何设计的,隐藏在内部的设计细节交由程序设计师负责。后续章节还会举例说明。
程序设计时,衍生类也可以有自己的方法,同时也有可能衍生类的方法名称和基类方法名称重复,碰上这个状况Python会先寻找衍生类是否有这个名称,如果有则优先使用,如果没有则使用基类的名称内容。
例1:衍生类与基类名称重复的实例。这个程序的基类与衍生类均有banl_title()函数,Python会触发bank_title()方法的对象去判别应使用哪一个方法执行(案例与执行结果见下图图一)。
说明:例1程序的思路如下(调用关系如下图图二):第29行的bank_title()是属于Banks类,第36行的bank_title()是属于Pudong_Banks类。第39行是Banks对象,所以41行会触发第36行的bank_title()方法。其实上述方法是就是面向对象的多类,但是多类不一定需要是有父子关系的类。可以将以上方法想成方法多功能化,相同的函数名称,放入不同类型的对象可以产生不同的结果。使用者可以不必知道是如何设计的,隐藏在内部的设计细节交由程序设计师负责。后续章节还会举例说明。
第十四章第三节(14.3):衍生类与基类有相同名称的属性
程序设计时,衍生类也可以有自己的初始化__init__()方法,同时也有可能衍生类的属性与方法名称和基类重复,碰上这个情况Python会先查找衍生类是否有这个名称,如果有则使用,如果没有则使用基类的名称内容。
例1:这个程序主要是将Banks类的title属性改为公有属性,但在衍生类中则有自己的初始化方法,主要是基类与衍生类均有title属性,不同类对象将呈现不同的结果。下列是第7行内容(修改后的程序及执行结果见下图图一)。
self. title=“Pudong Bank” #设置公有银行名称
说明:从例1可知,Banks类对象James所使用的title属性是Pufa Bank,Pudong_Banks对象wang所使用的title属性是Pufa Bank-Pudong Branch。在这个案例中由于衍生类拥有自己的属性,所以优先使用自己的属性。
程序设计时,衍生类也可以有自己的初始化__init__()方法,同时也有可能衍生类的属性与方法名称和基类重复,碰上这个情况Python会先查找衍生类是否有这个名称,如果有则使用,如果没有则使用基类的名称内容。
例1:这个程序主要是将Banks类的title属性改为公有属性,但在衍生类中则有自己的初始化方法,主要是基类与衍生类均有title属性,不同类对象将呈现不同的结果。下列是第7行内容(修改后的程序及执行结果见下图图一)。
self. title=“Pudong Bank” #设置公有银行名称
说明:从例1可知,Banks类对象James所使用的title属性是Pufa Bank,Pudong_Banks对象wang所使用的title属性是Pufa Bank-Pudong Branch。在这个案例中由于衍生类拥有自己的属性,所以优先使用自己的属性。
✋热门推荐