不继承派生类中的某些(选择)方法

用户名

举例来说,我有两个(python(3.3))类a和b,它们具有自己的方法:

class a:
    def m1(self):
        print("Hi 1")
    def m2(self):
        print("Hi 2")
        ##...other methods...
class b(a):
    def k1(self):
        print("Other hi")

我如何做到这一点,以便类b继承a除(例如)之外的所有方法m2(除了复制/粘贴外,这不算在内。)因此,该表达式a.m2()将是合法的,但b.m2()会引发一个AttributeError

凯文

您可以通过创建“ a”和“ b”的兄弟姐妹而不是父母和孩子来获得想要的效果。这可能对您有用:

class p:
    def m1(self):
        print("Hi 1")

class a(p):
    def m2(self):
        print("Hi 2")

class b(a):
    def k1(self):
        print("Other hi")

因此,这些方法现在都有效,其他方法将引发AttributeErrors:

a.m1()
a.m2()
b.m1()
b.k1()

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

派生类不继承基类的重载方法

来自分类Dev

C ++类继承在派生类中的单独方法

来自分类Dev

继承的方法无权访问派生类中的新实现

来自分类Dev

继承的麻烦:派生类不继承基类

来自分类Dev

继承的麻烦:派生类不继承基类

来自分类Dev

调用派生类的非继承方法

来自分类Dev

调用派生类的非继承方法

来自分类Dev

在C ++继承中,派生类如何禁用基类的某些元素(数据或函数)?

来自分类Dev

C ++继承:指向基类的派生类指针调用派生类方法

来自分类Dev

C ++将派生类存储在单个向量中,而派生类不包含重新定义的方法

来自分类Dev

覆盖派生类中的某些重载,而不覆盖其他重载

来自分类Dev

覆盖派生类中的某些重载,而不覆盖其他重载

来自分类Dev

Java继承基类使用派生类方法

来自分类Dev

OOP 继承:从派生类修改基类中的数组

来自分类Dev

将继承的参数传递给基类构造函数,然后在派生类构造函数中执行某些操作

来自分类Dev

c#继承了方法参数中带有派生类的接口

来自分类Dev

是否可以在接口的派生类中仅使用C#中的该接口的某些方法?

来自分类Dev

派生类中的同步方法

来自分类Dev

在派生类中调用重写的方法

来自分类Dev

在派生类中调用重写的方法

来自分类Dev

C ++-具有派生类的“安全/标准”方法“继承”基类中的重载赋值运算符

来自分类Dev

从基类继承的C ++公共方法无法访问派生类中的私有成员变量

来自分类Dev

从具有多重继承的派生类中调用所有基类的通用命名方法

来自分类Dev

从具有多重继承的派生类中调用所有基类的通用命名方法

来自分类Dev

从继承的变量构造派生类

来自分类Dev

从基类公开继承,从派生类私有继承

来自分类Dev

返回派生类类型的基类中的方法?

来自分类Dev

无法在C ++的派生类中重载基类方法

来自分类Dev

基类和派生类中的构造方法

Related 相关文章

  1. 1

    派生类不继承基类的重载方法

  2. 2

    C ++类继承在派生类中的单独方法

  3. 3

    继承的方法无权访问派生类中的新实现

  4. 4

    继承的麻烦:派生类不继承基类

  5. 5

    继承的麻烦:派生类不继承基类

  6. 6

    调用派生类的非继承方法

  7. 7

    调用派生类的非继承方法

  8. 8

    在C ++继承中,派生类如何禁用基类的某些元素(数据或函数)?

  9. 9

    C ++继承:指向基类的派生类指针调用派生类方法

  10. 10

    C ++将派生类存储在单个向量中,而派生类不包含重新定义的方法

  11. 11

    覆盖派生类中的某些重载,而不覆盖其他重载

  12. 12

    覆盖派生类中的某些重载,而不覆盖其他重载

  13. 13

    Java继承基类使用派生类方法

  14. 14

    OOP 继承:从派生类修改基类中的数组

  15. 15

    将继承的参数传递给基类构造函数,然后在派生类构造函数中执行某些操作

  16. 16

    c#继承了方法参数中带有派生类的接口

  17. 17

    是否可以在接口的派生类中仅使用C#中的该接口的某些方法?

  18. 18

    派生类中的同步方法

  19. 19

    在派生类中调用重写的方法

  20. 20

    在派生类中调用重写的方法

  21. 21

    C ++-具有派生类的“安全/标准”方法“继承”基类中的重载赋值运算符

  22. 22

    从基类继承的C ++公共方法无法访问派生类中的私有成员变量

  23. 23

    从具有多重继承的派生类中调用所有基类的通用命名方法

  24. 24

    从具有多重继承的派生类中调用所有基类的通用命名方法

  25. 25

    从继承的变量构造派生类

  26. 26

    从基类公开继承,从派生类私有继承

  27. 27

    返回派生类类型的基类中的方法?

  28. 28

    无法在C ++的派生类中重载基类方法

  29. 29

    基类和派生类中的构造方法

热门标签

归档