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类中的方法,所以说子类所继承的父类中的方法,如果存在同名,前面的会“遮蔽”后面的即前面的直接父类优先级高于后面的。

  • 相关阅读:
    Hadoop之HDFS中HA的搭建
    HBase详细介绍
    HBase简介
    MapReduce工作原理介绍
    springMVC中的form:标签使用
    自定义fns
    db2数据建邦联-相当于Oracle数据库的dblink
    Oracle和db2数据库基础操作
    Linux学习之添加用户
    AMPQ 0-9-1学习笔记
  • 原文地址:https://www.cnblogs.com/helloworld3/p/11154980.html
Copyright © 2011-2022 走看看