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

北京平台网站建设多少钱二级建造师证报考条件

北京平台网站建设多少钱,二级建造师证报考条件,手机购物网站模板,thinkphp企业网站开发面向对象之继承 什么是面向对象的继承#xff1f; 继承#xff08;英语#xff1a;inheritance#xff09;是面向对象软件技术当中的一个概念。如果一个类别A“继承自”另一个类别B#xff0c;就把这个A称 为“B的子类别”#xff0c;而把B称为“A的父类别”也可以称“B是… 面向对象之继承 什么是面向对象的继承 继承英语inheritance是面向对象软件技术当中的一个概念。如果一个类别A“继承自”另一个类别B就把这个A称 为“B的子类别”而把B称为“A的父类别”也可以称“B是A的超类”。继承可以使得子类别具有父类别的各种属性和方法而 不需要再次编写相同的代码。在令子类别继承父类别的同时可以重新定义某些属性并重写某些方法即覆盖父类别的 原有属性和方法使其获得与父类别不同的功能。另外为子类别追加新的属性和方法也是常见的做法。 一般静态的面向 对象编程语言继承属于静态的意即在子类别的行为在编译期就已经决定无法在执行期扩充。 class Person:def __init__(self,name,sex,age):self.name nameself.age ageself.sex sex class Cat:def __init__(self,name,sex,age):self.name nameself.sex sexself.age age class Dog:def __init__(self,name,age,sex):self.name nameself.sex sexself.age age # 定义三个不同的类class Animal(object):def __init__(self,name,sex,age):self.name nameself.sex sexself.age age # 定义一个Animal父类 class Person(Animal):pass class Dog(Animal):pass class Person(Animal):pass # 派生三个子类 继承的优点 增加了类的耦合性耦合性不宜多宜精。减少了重复代码。使得代码更加规范化合理化。继承的分类 父类,又叫基类,超类上面例子中的Animal就是一个父类。 子类派生类由父类派生而成的类可以调用父类的静态属性和动态方法。 继承可以分单继承多继承。 经典类和新式类 在python2.2版本之前均为经典类python2.2之后新式类和经典类并存python3之后取消了经典类的概念、简单来说在python2x基类的根如果什么也不写就是经典类,如果python的根为object就为新式类python3x版本中只有一种类 python3中使⽤的都是新式类. 如果基类谁都不继承. 那这个类会默认继承 object单继承 类名对象执行父类方法 class Aniaml(object):type_name 动物类def __init__(self,name,sex,age):self.name nameself.age ageself.sex sexdef eat(self):print(self)print(吃东西)class Person(Aniaml):passclass Cat(Aniaml):passclass Dog(Aniaml):pass# 类名 print(Person.type_name) # 可以调用父类的属性方法。 Person.eat(111) print(Person.type_name) 执行顺序 class Animal(object): # 1type_name 动物类 # 6def __init__(self,name,sex,age): # 7self.name name # 8self.sex sex # 9self.age age # 10def eat(self):print(self)print(吃东西) class Person(Animal): # 2def eat(self): # 11print(%s 吃饭%self.name) # 13 class Cat(Animal): # 3pass class Dog(Animal): # 4pass p1 Person(alex,laygirl,34) # 5 p1.eat() # 12 # 结果 alex 吃饭 # 实例化对象时必须执行__init__方法,类中没有从父类找父类没有从object类中找。 # 先要执行自己类中的eat方法自己类没有才能执行父类中的方法。 同时执行类以及父类中的方法 1.方法一 如果想执行父类的func方法这个方法并且子类中也用那么就在子类的方法中写上 父类.func(对象,其他参数) class Aniaml(object):type_name 动物类def __init__(self,name,sex,age):self.name nameself.age ageself.sex sex # 继承父类中的三个静态属性def eat(self):print(吃东西)class Person(Aniaml):def __init__(self,name,sex,age,mind):Aniaml.__init__(self,name,sex,age) # 方法一self.mind mind # 封装mind属性def eat(self):super().eat()print(%s 吃饭%self.name) class Cat(Aniaml):passclass Dog(Aniaml):pass p1 Person(春哥,laddboy,18,有思想) print(p1.__dict__) 2.利用supersuper().func(参数)父类的重构 class Animal:def __init__(self,name,sex,age):self.name nameself.sex sexself.age agedef eat(self):print(动物都需要吃饭) class Human(Animal):def __init__(self,name,sex,age,hobby):super(Human,self).__init__(name,sex,age) # 继承父类中的三个静态属性self.hobby hobbydef eat(self):super().eat() # 执行父类中的eat方法print(f{self.name}都需要吃饭) class Dog(Animal):pass class Cat(Animal):pass H1 Human(小红,女,18,看书) H1.eat() # 结果 动物都需要吃饭 小红都需要吃饭 单继承经典练习题 # 1 class Base:def __init__(self, num):self.num numdef func1(self):print(self.num)class Foo(Base):pass obj Foo(123) obj.func1() # 123 运⾏的是Base中的func1 # 2 class Base:def __init__(self, num):self.num numdef func1(self):print(self.num) class Foo(Base):def func1(self):print(Foo. func1, self.num) obj Foo(123) obj.func1() # Foo. func1 123 运⾏的是Foo中的func1 # 3 class Base:def __init__(self, num):self.num numdef func1(self):print(self.num) class Foo(Base):def func1(self):print(Foo. func1, self.num) obj Foo(123) obj.func1() # Foo. func1 123 运⾏的是Foo中的func1 # 4 class Base:def __init__(self, num):self.num numdef func1(self):print(self.num)self.func2()def func2(self):print(Base.func2) class Foo(Base):def func2(self):print(Foo.func2) obj Foo(123) obj.func1() # 123 Foo.func2 func1是Base中的 func2是⼦类中的 # 再来 class Base:def __init__(self, num):self.num numdef func1(self):print(self.num)self.func2()def func2(self):print(111, self.num) class Foo(Base):def func2(self):print(222, self.num) lst [Base(1), Base(2), Foo(3)] for obj in lst:obj.func2() # 111 1 | 111 2 | 222 3# 再来 class Base:def __init__(self, num):self.num numdef func1(self):print(self.num)self.func2()def func2(self):print(111, self.num) class Foo(Base):def func2(self):print(222, self.num) lst [Base(1), Base(2), Foo(3)] for obj in lst:obj.func1() # 那笔来吧. 好好算 多继承 class A:def __init__(self,name):self.name namedef show_name(self):print(fA的名字为{self.name}) class B:def __init__(self,name):self.name namedef show_name(self):print(fB的名字为{self.name}) class C(A,B): # C同时继承AB类pass c C(A) print(c.name) c.show_name() 在python这种经典类和新式类继承父类所使用的算法是完全不同的 经典类的多继承 经典类的多继承采用深度优先算法 class A:pass class B(A):pass class C(A):pass class D(B, C):pass class E:pass class F(D, E):pass class G(F, D):pass class H:pass class Foo(H, G):pass 类的: Foo- H - G - F - E - D - B - A - C. 新式类的多继承 mro序列 MRO是一个有序列表L在类被创建时就计算出来 通用计算公式为 mro(Chird(Base1,Base2)) [child] merge(mro(Base1),mro(Base2),[Base1,Base2]) # 其中child继承自Base1Base2如果继承一个基类class B(A) 这时候B的mro序列为 mro(B) mro(B(A))[B] merge(mro(A) [A])[B] merge([A] [A])[B,A]如果继承至多个基类class B(A1,A2,A3) mro(B) mro( B(A1, A2, A3 …) )[B] merge( mro(A1), mro(A2), mro(A3) ..., [A1, A2, A3] )...计算结果为列表列表中至少有一个元素即类自己如上述示例[A1,A2,A3],merge操作是C3算法的核心 表头和表尾 表头   列表的第一个元素 表尾   列表中表头以外的元素集合可以为空 示例   列表[A, B, C]   表头是A表尾是B和C 列表之间的操作 操作 [A] [B] [A, B] 以下的计算中默认省略 如计算merge( [E,O], [C,E,F,O], [C] ) 有三个列表 ① ② ③ merge不为空取出第一个列表列表①的表头E进行判断 各个列表的表尾分别是[O], [E,F,O]E在这些表尾的集合中因而跳过当前当前列表 取出列表②的表头C进行判断C不在各个列表的集合中因而将C拿出到merge外并从所有表头删除merge( [E,O], [C,E,F,O], [C]) [C] merge( [E,O], [E,F,O] ) 进行下一次新的merge操作 ...... ---------------------计算mro(A)方式 mro(A) mro( A(B,C) )原式 [A] merge( mro(B),mro(C),[B,C] )mro(B) mro( B(D,E) ) [B] merge( mro(D), mro(E), [D,E] ) # 多继承 [B] merge( [D,O] , [E,O] , [D,E] ) # 单继承mro(D(O))[D,O] [B,D] merge( [O] , [E,O] , [E] ) # 拿出并删除D [B,D,E] merge([O] , [O]) [B,D,E,O]mro(C) mro( C(E,F) ) [C] merge( mro(E), mro(F), [E,F] ) [C] merge( [E,O] , [F,O] , [E,F] ) [C,E] merge( [O] , [F,O] , [F] ) # 跳过O拿出并删除 [C,E,F] merge([O] , [O]) [C,E,F,O]原式 [A] merge( [B,D,E,O], [C,E,F,O], [B,C]) [A,B] merge( [D,E,O], [C,E,F,O], [C]) [A,B,D] merge( [E,O], [C,E,F,O], [C]) # 跳过E [A,B,D,C] merge([E,O], [E,F,O]) [A,B,D,C,E] merge([O], [F,O]) # 跳过O [A,B,D,C,E,F] merge([O], [O]) [A,B,D,C,E,F,O] ---------------------转载于:https://www.cnblogs.com/lifangzheng/p/11314321.html
http://www.fuzeviewer.com/news/22680/

相关文章:

  • 个人网站建设设计一条视频可以多平台发布吗
  • 2025 年 11 月食堂承包公司推荐排行榜,食堂承包商,食堂承包方案,大型食堂承包,专业餐饮服务与高效运营管理口碑之选
  • 网站调用微信数据wordpress安装失败
  • 英文网站建设平台网站建设和推广的话术
  • 交易所网站建设盘锦威旺做网站建设公司
  • 网站婚礼服务态网站建设论文佛山网站建设哪家好
  • 2025 年 11 月换热器厂家推荐排行榜,热交换器,板式/宽通道/管式换热器,换热器板片,热交换器板/垫/橡胶垫,换热器胶条/橡胶条公司推荐
  • 如何把网站转网站想学营销策划去哪里学
  • visio网站建设流程图网站的容量
  • 2025 年 11 月开窗器厂家推荐排行榜,链条开窗器,机芯开窗器,配件开窗器,优质开窗器公司推荐
  • 摄影网站网页设计app怎么查网站备案
  • 做网站时图片要切片有什么作用做文化传播公司网站
  • 2025年11月电线电缆厂家推荐排行榜:国标铜芯电缆专业选购指南
  • 建设银行给税对账在什么网站天津国际工程建设监理公司网站
  • 思途旅游网站建设系统中国工程信息网站
  • 社团建设制作网站费用会计科目上虞区住房和城乡建设局网站
  • 佛山建设公司网站seo比较好的优化方法
  • 2025年11月电缆厂家推荐排行榜:权威解析国标/国网入围/南网入围电缆企业综合实力
  • 网站做电子公章违法吗衡阳退休职工做面膜网站
  • 自己做的网站在浏览器上显示不安全12306 网站谁做的
  • 网站抄袭我网站微信小程序电商平台开发
  • 建筑公司网站源码 开源 免费最新手游2022首发排行
  • 做简历的网站都有哪些百度海南分公司
  • pageadmin仿站教程用了wordpress的电商网站
  • 网站黑名单查询在线3d建模网站
  • 池州网站seo网站开发就业前景分析
  • 阿里巴巴网站是用什么技术做的物流公司网站制作模板
  • 大学生创业做网站网站空间域名免费
  • 常州知名网站公司网页背景做的比较好的网站
  • 查看网站流量wordpress 首页显示全文