python--类继承

举报
brucexiaogui 发表于 2021/12/30 00:10:55 2021/12/30
【摘要】 python--类继承   '''继承继承语法:class 子类(父类):子类中定义与父类同名的方法或属性,则会覆盖父类的同名方法和属性'''# 简单的继承class Parent: def hello(self): print('我是父类的方法')class Child(Parent): pas...

python--类继承

 


  
  1. '''
  2. 继承
  3. 继承语法:class 子类(父类):
  4. 子类中定义与父类同名的方法或属性,则会覆盖父类的同名方法和属性
  5. '''
  6. # 简单的继承
  7. class Parent:
  8. def hello(self):
  9. print('我是父类的方法')
  10. class Child(Parent):
  11. pass
  12. c = Child()
  13. c.hello() #子类调用父类的方法 我是父类的方法
  14. # 子类调用与父类同名的方法或属性
  15. class Parent:
  16. def hello(self):
  17. print('我是父类的方法')
  18. class Child(Parent):
  19. def hello(self):
  20. print('我是子类与父类同名的方法')
  21. c = Child()
  22. c.hello() # 我是子类与父类同名的方法
  23. #调用父类被覆盖的构造方法有两种方式,1、调用未绑定父类方法 2、使用super方法
  24. # 1、调用未绑定父类方法 例子
  25. class Person2:
  26. def __init__(self):
  27. a = 1+1
  28. self.b = a
  29. def getSelf(self):
  30. print(self.b)
  31. pass
  32. class Child(Person2):
  33. def __init__(self):
  34. Person2.__init__(self) #在子类中用父类调用父类的构造方法,达到子类调用父类的构造方法功能。
  35. self.c = '重写子类构造方法'
  36. child = Child()
  37. print(child.getSelf())
  38. # 2、调用父类子类覆盖的构造方法 例子
  39. class Person2:
  40. def __init__(self):
  41. a = 1+1
  42. self.b = a
  43. def getSelf(self):
  44. print(self.b)
  45. pass
  46. class Child(Person2):
  47. def __init__(self):
  48. #Person2.__init__(self) #在子类中用父类调用父类的构造方法,达到子类调用父类的构造方法功能。
  49. super().__init__() #super在子类中调用父类的构造方法,达到子类调用父类的构造方法功能。
  50. self.c = '重写子类构造方法'
  51. child = Child()
  52. print(child.getSelf())
  53. '''
  54. 多重继承
  55. 在子类的括号里写入多个父类的名字即可
  56. '''
  57. class Base1:
  58. def base1(self):
  59. print('我是base1')
  60. class Base2:
  61. def base2(self):
  62. print('我是base2')
  63. class Child(Base1,Base2):
  64. pass
  65. child2 = Child()
  66. child2.base1()
  67. child2.base2()

 

文章来源: brucelong.blog.csdn.net,作者:Bruce小鬼,版权归原作者所有,如需转载,请联系作者。

原文链接:brucelong.blog.csdn.net/article/details/80424416

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。