继承一个类,然后返回获取子类中的所有方法并且不包含父类的

Posted dream4567

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了继承一个类,然后返回获取子类中的所有方法并且不包含父类的相关的知识,希望对你有一定的参考价值。

 一、子继承

class A(object):
    def __new__(cls, *args, **kwargs):
        # 1. 获取 继承 此类的函数中的所有方法
        now_dict = cls.__dict__.copy()

        # 2. 删除其他
        now_dict.pop("__module__", None)
        now_dict.pop("__doc__", None)

        # 3. 赋值变量
        cls.now_dict = now_dict

        # 4. 返回对象
        return super().__new__(cls, *args, **kwargs)

    def a(self):
        print(123)

    def b(self):
        print(456)


class B(A):
    name = 123
    act = 456


a = B()
print(a.now_dict)


# 结果
‘name‘: 123, ‘act‘: 456

 二、孙子继承

class A(object):
    def __new__(cls, *args, **kwargs):
        # 1. 获取 继承 此类的函数中的所有方法
        now_dict = cls.__dict__.copy()

        # 2. 删除其他
        now_dict.pop("__module__", None)
        now_dict.pop("__doc__", None)

        # 3. 赋值变量
        cls.now_dict = now_dict

        # 4. 返回对象
        return super().__new__(cls, *args, **kwargs)

    def a(self):
        print(123)

    def b(self):
        print(456)


class B(A):
    name = 123
    act = 456


class C(B):
    age = 22


a = C()
print(a.now_dict)

# 结果
‘age‘: 22

以上是关于继承一个类,然后返回获取子类中的所有方法并且不包含父类的的主要内容,如果未能解决你的问题,请参考以下文章

java中,子类能调用父类中所有方法、对象吗?是不是父类也能调用子类所有……?

抽象类特点

python多重继承

简述在类的继承关系中,子类可以继承父类的都有哪些成员

请解释python面向对象中的继承

Java继承