zoukankan      html  css  js  c++  java
  • Python多继承

    大部分面向对象的编程语言(除了C++)都只支持单继承,而不支持多继承,为什么呢?因为多继承不仅增加编程复杂度,而且容易导致莫名其妙的错误。

    Python虽然语法上支持多继承,但是却不推荐使用多继承,而是推荐使用单继承,这样可以保证编程思路更清晰,也可以避免不必要的麻烦。

    当以一个子类有多个直接父类时,该子类会继承得到所有父类的方法,但是如果其中有多个父类包含同名方法会发生什么?此时排在前面的父类中的方法会“遮蔽”后面父类中的方法。

    栗子如下:

    1 #coding=utf-8
    2 class Item:
    3 def info(self):
    4 print("Item中的方法",'这是一个商品')
    5 
    6 class Product:
    7 def info(self):
    8 print('Product中的方法','这是一个能赚钱的商品')
    9 
    10 class Computer(Item,Product):
    11 pass
    12 
    13 c = Computer()
    14 c.info()
    

      


    控制台打印如下:

    解释:控制台打印的是Item类中的方法,所以说子类所继承的父类中的方法,如果存在同名,前面的会“遮蔽”后面的即前面的直接父类优先级高于后面的。

  • 相关阅读:
    js精度丢失问题处理
    button居中
    js存储 cookie,localStorage,sessionStorage的比较
    js 常用的DOM,BOM操作
    js事件代理理解
    oneplus前端开发面试
    instanceof
    js原型和原型链
    js构造函数
    NC 6.X笔记(编辑中)
  • 原文地址:https://www.cnblogs.com/helloworld3/p/11154980.html
Copyright © 2011-2022 走看看