覆盖另一个文件中的类的方法

linusg

说我有两个文件,file1.pyfile2.pyfile1.py中,我定义了两个类,一个继承自另一个:

file1.py:

class Class1:
    def __init__(self):
        pass

    def func1(self):
        return "Hello world!"

class Class2(Class1):
    def __init__(self):
        pass

    def func2(self):
        return self.func1()

因此,现在我可以func1()拨打电话func2()Class2

file2.py:

import file1

class Class3(file1.Class2):
    def __init__(self):
        pass

问:我怎样才能改变func1()来自Class1file2.py,从而使func2()Class2收益一样func1()

所以不是这样的:

class Class3(file1.Class2):
    ...
    def func1(self):
        return "Another string"
切普纳

会压倒一切func1吗?

class Class(file1.Class2):
    def func1(self):
        print "Class3.func1"

c = Class3()
c.func2()

由于func2未在中定义Class3Class2.func2因此称为。但是,在该函数的主体中,self仍然是的实例Class3,因此self.func1()调用Class3.func1,而不是Class1.func1那不同于

d = Class2()
d.func2()

selfClass2.func2的实例Class2Class2没有定义func1,所以Class1.func1称为。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

覆盖另一个类中的方法

用嵌套在另一个扩展Comparable的类中的类覆盖compareTo方法

将文件移动到另一个类,无法使覆盖的方法正常工作

无法覆盖另一个模块swift中在类扩展中声明的open方法

在两个单独的文件中另一个类的类方法朋友

如何在另一个文件的另一个类中调用 php 方法?

如何从另一个.java文件中的另一个类调用方法?

覆盖另一个模块中的方法

覆盖另一个包中的内部方法

从另一个java类覆盖这个类中的方法(附加到其他方法)

未定义的方法-从另一个文件中调用一个文件中的类

如何从另一个 python 文件中的一个 python 文件中的类调用方法

在PHP类中包含另一个文件

从另一个文件中的类导入函数?

Typescript在另一个文件中扩展类

如何从另一个类中迅速调用另一个方法?

从CSHTML文件中调用另一个类中的方法

在 C++ 中的另一个 .h 文件中使用类中的方法

如何从Python中的另一个文件调用类方法?

在另一个文件中调用类方法时,是否必须提供self的值?

似乎无法在另一个文件中修补类和方法

在另一个类文件中编写 ConfigureServices 方法

Python-如何从另一个新修改的python文件中调用类方法

Traceur中另一个类的引用方法

Repaint()方法在另一个类中调用

从UIButton中的另一个类调用方法

在PHP的另一个类中调用方法

使用Xamarin中另一个类的方法

python中访问另一个类的方法