当前位置: 首页 > news >正文

网站建设服务中企动力推荐在线工具

网站建设服务中企动力推荐,在线工具,淘宝 网站建设,设计师必须知道的网站继承和多态 刚才我们提到了,可以在已有类的基础上创建新类,这其中的一种做法就是让一个类从另一个类那里将属性和方法直接继承下来,从而减少重复代码的编写。提供继承信息的我们称之为父类,也叫超类或基类;得到继承信息…

继承和多态

刚才我们提到了,可以在已有类的基础上创建新类,这其中的一种做法就是让一个类从另一个类那里将属性和方法直接继承下来,从而减少重复代码的编写。提供继承信息的我们称之为父类,也叫超类或基类;得到继承信息的我们称之为子类,也叫派生类或衍生类。子类除了继承父类提供的属性和方法,还可以定义自己特有的属性和方法,所以子类比父类拥有的更多的能力,在实际开发中,我们经常会用子类对象去替换掉一个父类对象,这是面向对象编程中一个常见的行为,对应的原则称之为里氏替换原则。下面我们先看一个继承的例子。


                class  Person(object):"""人"""def   __init__(self,name,age):self._name = nameself.age = age              @propertydef   name(self):return self._name@propertydef   age(self):return self._age@age.setterdef   grade(self, grade):self._grade = gradedef study(self, course):print('%s的%s正在学习%s.' % (self._grade, self._name, course))class Teacher(Person)def __init__(self, name, age, title):super().__init__(name, age)self._title = title@propertydef title(self):return self._title@title.setterdef title(self, title):self._title = titledef teach(self, course):print('%s%s正在讲%s.' % (self._name, self._title, course))def main():stu = Student('王大锤', 15, '初三')stu.study('数学')stu.watch_av()t = Teacher('骆昊', 38, '老叫兽')t.teach('Python程序设计')t.watch_av()if __name__ == '__main__':main()子类在继承了父类的方法后,可以对父类已有的方法给出新的实现版本,这个动作称之为方法重写(override)。通过方法重写我们可以让父类的同一个行为在子类中拥有不同的实现版本,当我们调用这个经过子类重写的方法时,不同的子类对象会表现出不同的行为,这个就是多态(poly-morphism)。

     列表生成式a = [x for x in range(100000000000) if   x %  2==0]优点:计算速度快,因为一次性已经加载到内存中了,适合数据量不太大的情况缺点:占用内存生成器a = (x   for    x     in    range(10000000000)    if   x  %  2 ==0)优点:节约内存空间缺点:计算速度慢,因为要生成

     继承代码:class    A(object):def  __init__(self):self.a = 100                            def A1(self):print("A1)                                          在类名中写上继承的类                          class   B(A):def   init(self):A.init(self)self.b = 200def  B1(self);print(‘B1')

                装饰器代码def deco(func):def warp(a,b):print(a+b)return func(a,b)return warp@decodef qa(a,b):print("a,b")qa(100,20)

     装饰器参数代码#装饰器将前面两个数字的求和,函数本身第三个数乘上这个和。def qa(func): def warp(num1,num2,num3):num = num1 + num2 return func(0,num,num3)return warp@qadef SUM(num1,num2,num3):print(num1,num2,num3)print(num2*num3)SUM(5,8,9)

                 闭包def foo():l = []def bar(i):l.append(i)return lreturn barf1 = foo()res1 = f1(1)print(res1)res2 = f1(2)print(res2)输出结果是               [1][1, 2]
http://www.mnyf.cn/news/33735.html

相关文章:

  • 做电子书网站 赚钱8个公开大数据网站
  • 做都是正品的网站很难吗网站优化包括哪些内容
  • 邢台做网站公司论坛seo网站
  • 网站为什么要seo?友情链接网站源码
  • 武汉职业技术学院网站开发seo在线优化排名
  • 做图的ppt模板下载网站北京做百度推广的公司
  • 前程无忧做网站多少钱爱站网站长百度查询权重
  • wordpress开启xmlrppcseo搜索引擎推广什么意思
  • 西直门网站建设公司域名被墙查询
  • 新增网站app推广引流渠道
  • html表单的完整代码关键词优化的软件
  • 闲鱼网站是哪家公司做的万能软文范例800字
  • 澳门网站建设哪家好百度小说排行榜2021
  • 网站建设dns解析设置公司的网站
  • 怎么建设自己的网站泉州关键词搜索排名
  • 广州微网站建设案例识图搜索在线 照片识别
  • 专业的做pc端网站推广策略
  • 旅游网站制作优化营商环境评价
  • 聊城做网站推广费用2020国内十大小说网站排名
  • 为代理赌博做网站正规网络教育培训机构
  • 最新网站建设进程百度商业平台
  • 网站做系统叫什么软件有哪些全域seo
  • 国外wordpress常州seo外包
  • 外贸建站需要花多少钱360优化大师官方版
  • 全美网站建设小红书推广策略
  • 网站建设台州seo的优缺点
  • 作品集怎么做网站大连网站制作
  • 网站关键词选取免费seo技术教程
  • 网站搭建原理手机优化大师怎么退款
  • 怎么开彩票网站做站长广东今天新闻最新消息