Python继承子类(ing)

2024-04-26 10:41:31 发布

您现在位置:Python中文网/ 问答频道 /正文

给定父类“a”

class A(object):
    def __init__(self,a,b):
        self.a = a
        self.b = b
    def methodA():
        # do something

在以下选项中创建子类“B”有什么区别

选择1

class B(A):
    def methodB():
        # do something

选择2

class B(A):
    def __init__(self,a,b):
        A.__init__(self, a, b)
    def methodB():
        # do something

Tags: selfobjectinitdef选项子类dosomething
1条回答
网友
1楼 · 发布于 2024-04-26 10:41:31
class A(object):
    def __init__(self,a,b):
        self.a = a
        self.b = b

class B(A):
    def __init__(self,a,b):
        A.__init__(self, a, b)
    def methodB():
        pass

class C(A):
    def methodB():
        pass

b = B(1,2)
c = C(1,2)
print b.a == c.a # True
print b.b == c.b # True

在两个类实例化中,类A下的init将只运行一次。
因此,没有什么明显不同。
class B在国际海事组织看来并不干净,根本没有真正的意义。它无论如何都会被运行

如果您希望在类B init中执行不同的操作,那么可以使用此代码

class B(A):
    def __init__(self,a,b):
        A.__init__(self, a+1, b+1)
    def methodB():
        pass

相关问题 更多 >