菜鸟说python中的继承
2005-03-01 21:14
381 查看
python支持面向对象的编程风格,这里主要说说python中的多继承:
下面的代码使用python2.4,安装后使用idle的IDE开发环境(说是IDE ,比起delphi,VS.net等简单得太多了)
从File-New菜单建立一个.py文件,写下面的代码:
class SuperClass:
def sample(self):
print 'SuperClass'
class SubClass(SuperClass):
pass
sub = SubClass()
sub.sample()
要先保存,再按F5执行,在idle的主窗口显示:
>>> ================================ RESTART ================================
>>>
SuperClass
>>>
子类调用了父类的sample方法,现在修改代码,如下:
class SuperClass:
def sample(self):
print 'SuperClass'
class SuperClass1:
def sample(self):
print 'SuperClass1'
class SubClass(SuperClass,SuperClass1):
pass
sub = SubClass()
sub.sample()
运行代码,看到的结果和上面的是一样的,这里子类调用的第一个父类的sample方法,第二个父类的不被调用,
现在知道下面要说什么了吧,把SubClass类的声明改成:
class SubClass(SuperClass1,SuperClass):
pass
运行,看到的结果是SuperClass1的sample方法被调用。
>>> ================================ RESTART ================================
>>>
SuperClass1
>>>
到这里,可以看出在多继承的情况下,父类中的相同方法在子类中会调用类声明的第一个父类的方法。
下面的代码使用python2.4,安装后使用idle的IDE开发环境(说是IDE ,比起delphi,VS.net等简单得太多了)
从File-New菜单建立一个.py文件,写下面的代码:
class SuperClass:
def sample(self):
print 'SuperClass'
class SubClass(SuperClass):
pass
sub = SubClass()
sub.sample()
要先保存,再按F5执行,在idle的主窗口显示:
>>> ================================ RESTART ================================
>>>
SuperClass
>>>
子类调用了父类的sample方法,现在修改代码,如下:
class SuperClass:
def sample(self):
print 'SuperClass'
class SuperClass1:
def sample(self):
print 'SuperClass1'
class SubClass(SuperClass,SuperClass1):
pass
sub = SubClass()
sub.sample()
运行代码,看到的结果和上面的是一样的,这里子类调用的第一个父类的sample方法,第二个父类的不被调用,
现在知道下面要说什么了吧,把SubClass类的声明改成:
class SubClass(SuperClass1,SuperClass):
pass
运行,看到的结果是SuperClass1的sample方法被调用。
>>> ================================ RESTART ================================
>>>
SuperClass1
>>>
到这里,可以看出在多继承的情况下,父类中的相同方法在子类中会调用类声明的第一个父类的方法。
相关文章推荐
- python 多重继承的方法解析顺序
- python3 继承(inheritance)
- Python菜鸟学习手册15----多线程
- python中迷信继承
- python继承和重写init方法
- 【Python开发】Python中的class继承
- python 继承
- Python学习09:继承与多重继承
- 菜鸟入门_Python_机器学习(3)_回归
- Python3 类的继承
- Python-7 多继承函数调用注意点
- Python类的继承示例
- 菜鸟Python(1)
- Python3菜鸟笔记
- Python类的继承(进阶5)
- 举例讲解Python面向对象编程中类的继承
- 菜鸟学Python(2):学而不思则罔(从一个Python Bug谈开)
- 菜鸟学Python(7):无法隐藏Python源代码
- 菜鸟学Python(12):怎么读写ini文件
- python的多重继承的理解