python初学 继承

来源:互联网 发布:易语言单机游戏源码 编辑:程序博客网 时间:2024/05/21 23:52

继承

继承的语法:class 本类名(子类名) :          在这里的括号中是可以写进多个子类的,也就是python的多继承

继承对于我们的编程带来的最大好处就是对于我们代码的重用,比如说在我需要定义几个类,而类与类之间有一些公共的属性和方法,这时我就可以把相同的属性和方法作为基类的成员,而特殊的方法及属性则在本类中定义,这样只需要继承基类这个动作,就可以访问到基类的属性和方法了,它提高了代码的可扩展性。

继承肯定也是不完美的,那对于继承的缺点就是可能特殊的本类又有其他特殊的地方,又会定义一个类,其子类也可能再定义类,这样就会造成继承的那些关系越来越多,使用继承的话,任何一点小的变化也需要重新定义一个类。

接下来给大家写一些简单的示例

class A:      def __init__(self):  # 定义构造方法        print("A")class A1:    def __init__(self,a):        print("A1",a)class B(A1,A):  # 使用了多继承    def __init__(self,a):        super(B,self).__init__(a) #使用了从左到右,从上到下的顺序来寻找父类的构造方法        A.__init__(self)        print("B")d = B("ABC")
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

结果:

A1 ABCAB
  • 1
  • 2
  • 3

python与其他编程语言(例如c#)的区别                      

1:在继承中基类的构造(__init__()方法)不会被自动调用,它需要在其派生类的构造中亲自专门调用。

2:在调用基类的方法时,需要加上基类的类名前缀,且需要带上self参数变量。区别于在类中调用普通函数时并不需要带上self参数

3:Python总是首先查找对应类型的方法,如果它不能在派生类中找到对应的方法,它才开始到基类中逐个查找。(先在本类中查找调用的方法,找不到才去基类中找,采用从左到右,从上到下的顺序来查找)。

关键字解释: 基类也就是常说的子类,派生类也就是我们的当前类

class A:      def __init__(self):  # 定义构造方法        print("A")class B(A):      def __init__(self):        print("B")d = B()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

结果:

B
  • 1
  • 2
  • 3

这就是不调用父类的构造方法的话,默认不会去调用的。






  • 1
原创粉丝点击